使用 Monit 监视自定义守护进程


Using Monit to monitor custom daemons

我有一个用PHP编写的守护进程。我使用以下命令调用守护进程

php dojobs.php

当我调用该命令时,守护程序无限运行,因为文件 dojobs.php 具有以下代码

while(true)
{
   code here
}

我有以下问题:

  • 如何使用 Monit(在 CENTOS linux 5.5 上(服务器来监控此守护进程,并在它失败时重新启动它?
  • 我在守护程序中有以下代码:

    exec('nohup sendMail.php>/dev/null 2>&1 & echo $!';, $op(;

(如何确保上面的nohup命令正常工作并且sendMail.php文件实际上可以正常工作?sendMail.php 不是守护进程。它会发送电子邮件,然后退出。

非常感谢。

不熟悉Monit,所以帮不了你。但是,您可以使用进程控制 (pcntl_*((( 扩展来分叉单独的进程,并等待它们向父进程返回状态代码,以便它知道作业是否已成功完成,而不是调用exec()