如何防止 cron 作业执行(如果它已经在运行)
我有一个php脚本,我在CentOS上每10分钟通过cron执行这个脚本。
问题是,如果 cron 作业花费的时间超过 10 分钟,则将启动同一 cron 作业的另一个实例。
我尝试了一个技巧,那就是:
- 在 cron 作业启动时,使用 php 代码创建了一个锁定文件(与 pid 文件相同)。
- 作业完成后删除了带有 php 代码的锁定文件。
- 当任何新的cron作业开始执行脚本时,我检查了锁定文件是否存在,如果是,则中止脚本。
但是可能存在一个问题,即当由于任何原因未被脚本删除或删除锁定文件时。cron将永远不会再开始。
如果 cron 作业已经在运行,有没有办法使用 Linux 命令或类似命令再次停止执行 cron 作业?