一尘不染

仅当cron作业尚未运行时才运行

linux

因此,我试图将cron作业设置为我创建的守护程序的一种看门狗。如果守护程序出错并失败,我希望cron作业定期重新启动它…我不确定这样做的可能性如何,但是我通读了一些cron教程,找不到任何可以做我的事情正在寻找…

我的守护程序是从Shell脚本开始的,所以我真的只是在寻找一种方法来运行cron作业,前提是该作业的先前运行仍未运行。

它确实为我试图使用锁定文件提供了解决方案,但我不确定是否有更好的方法来做…

谢谢你的帮助。


阅读 308

收藏
2020-06-02

共1个答案

一尘不染

我对我编写的打印后台处理程序执行此操作,这只是一个shell脚本:

#!/bin/sh
if ps -ef | grep -v grep | grep doctype.php ; then
        exit 0
else
        /home/user/bin/doctype.php >> /home/user/bin/spooler.log &
        #mailing program
        /home/user/bin/simplemail.php "Print spooler was not running...  Restarted." 
        exit 0
fi

它每两分钟运行一次,非常有效。如果由于某种原因该进程未运行,我会通过电子邮件将特殊信息发送给我。

2020-06-02