我想阻止我的脚本一次运行多次.
我目前的做法是
为了防止进程挂起,我设置了一个cron作业,定期检查文件是否超过了最大允许的运行时间,如果文件仍然在运行,则会终止该进程.
是否存在我正在杀死错误进程的风险?
有没有更好的方法来执行这个整体?
这是使用文件系统创建锁的标准方法.例如,visudo使用它:
[ -f ".lock" ] && exit 1
touch .lock
# do something
rm .lock
Run Code Online (Sandbox Code Playgroud)
1)我很困惑,因为有竞争条件,但Linux使用它
2)有没有更好的方法来锁定shell中的文件?
3)或者我必须使用目录吗?
找到解决方案:man lockfile.