我正在尝试将cron作业设置为我创建的守护程序的一种看门狗。如果守护程序出错并失败,我希望cron作业定期重新启动它...我不确定这样做的可能性如何,但是我通读了一些cron教程,找不到任何可以做我的事情正在寻找...
我的守护程序是从Shell脚本开始的,因此,我实际上只是在寻找一种方法来仅运行cron作业,前提是该作业的先前运行仍未运行。
I found this post确实为我试图使用锁定文件提供了解决方案,但我不确定是否有更好的方法来解决...

最佳答案

我为我编写的打印后台处理程序执行此操作,这只是一个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

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

09-07 11:29
查看更多