在远程主机中,我想运行3个程序A,B和C,但我希望它们在不同的时间运行,所以如果A正在运行,B和C就无法运行 所以当我想要运行A时,如果我检测到文件被锁定,我会等到它被解锁
我的想法是在这些程序之间创建一个锁文件,例如进程之间的互斥锁 像:
如果文件已解锁;然后 锁定文件 ./programA 解锁文件 网络
有人告诉我flock
可以用于此目的
我在谷歌搜索
代码如下:
(
flock -s 200
。/程序
)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'
此外,如何将锁定超时设置为intinite
任何人都可以提供一些示例脚本吗? 感谢
答案 0 :(得分:1)