监视过程并在结束后重新启动

我有一个Debian框,在机器上我有一个PHP脚本运行。

我如何监控它,当php脚本死亡,自动重新启动?

如果它是一个独立的PHP脚本,你可能会对daemontools感兴趣(DJ Bernstein,QMail的名气)。 监督守护进程不是直接启动服务,而是负责启动这些服务。 每当检测到其中一个服务由于某种原因而中止时,就会尝试重新启动服务。

Monit也是这类事情的好工具。

您也可以每分钟运行一次cron作业,如果脚本不在类似ps aux | grep <scriptname> | grep -v grep ps aux | grep <scriptname> | grep -v grep

你可以用duende , maradns成名。 从其手册页 :

如果父母处理HUP信号,duende将重新启动subprocess。 如果守护进程或日志进程接收到未经处理的HUP信号,或者退出代码为8,则duende将重新启动该进程。 如果守护进程或日志logging进程因其他原因退出,duende会向logging器进程发送TERM信号并退出。 如果duende父进程收到TERM或INT信号,则duende发送其所有subprocess的TERM信号,然后退出。