项目中经常会单独写一个php脚本利用while循环,执行一些特殊任务。然而如果脚本在某时刻突然停止运行,具体原因当发生错误时、框架中Mysql对象一般只保持8个小时,超出时间会报错导致脚本退出,等原因。那么如何在脚本退出时被检测到并重新拉起呢?
1,参考第三方守护工具Supervisor:https://blog.csdn.net/yt_php/article/details/94140628
2,简单可行的方案,将检测并重新拉起的命令写在定时任务中,每分钟检测一次。下边示例为tp3.2.3
* * * * * /usr/bin/ps -ef|/usr/bin/grep '/home/crontab/crontab' |/usr/bin/grep -v grep || (cd /data/wwwroot/project&&/usr/bin/nohup /usr/local/php/bin/php pro.php home/crontab/crontab&)