在远程主机中,我想运行 3 个程序 A 、 B 和 C 但我希望它们在不同的时间运行,所以如果 A 正在运行,B 和 C 无法运行,所以当我想运行 A 时,如果我检测到文件被锁定我等到它被解锁
我的想法是在这些程序之间创建一个锁定文件,例如进程之间的互斥锁,例如:
如果文件被解锁;然后锁定文件 ./programA 解锁文件 fi
有人告诉我flock
可以用于这个目的我在谷歌上搜索的代码是这样的:(flock -s 200 ./program)200>/var/lock/mylockfile
但我不知道如何将其制作为 shell 脚本 我制作 shell 脚本 trylock.sh 之类的
#!/bin/bash
set -e
(
flock -x -w 10 200
sleep 20
) 200 > lockfile
当我运行它时,我得到了
trylock.sh: line 7: syntax error near unexpected token `200'
此外,如何将锁定超时设置为无限
谁能给出一些示例脚本?谢谢