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

时间:2011-12-08 17:15:26

标签: php ssh daemon monit

我有一个用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不是守护进程。它会发送一封电子邮件然后退出。)

非常感谢你。

1 个答案:

答案 0 :(得分:2)

不熟悉Monit,所以无法帮助你。但是,不是调用exec(),而是可以使用Process Control(pcntl _ *())扩展来分叉单独的进程并等待它们将状态代码返回到父进程,以便它知道作业是否具有是否已成功完成。