FreeBSD保证 shell 程序只有单一 instance 运行?
使用lockf 命令
man lockf: lockf -- execute a command while holding a file lock
例:如果要执行 /home/livedoorcn/run.sh ,
/usr/bin/lockf -t 0 /tmp/run.lock /home/livedoorcn/run.sh
例子的含义是:
1、/usr/bin/lockf -t 0 /tmp/run.lock /home/livedoorcn/run.sh 开始运行时首先检查 /tmp/ 下是否有run.lock 文件,是,不执行/home/livedoorcn/run.sh,退出,否,生成/tmp/run.lock 文件,执行/home/livedoorcn/run.sh
2、当/home/livedoorcn/run.sh 执行完成后,lockf 删除/tmp/run.lock
阅读(828) | 评论(0) | 转发(0) |