我有一个用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()
。