我有一个用PHP编写的守护进程。我使用以下命令来调用守护程序
php dojobs.php
当我调用该命令时,守护进程无限运行,因为文件dojobs.php具有以下代码
while(true)
{
code here
}
我有以下问题:
我在守护程序中有以下代码:
exec('nohup sendMail.php> / dev / null 2>& 1& echo $!';,$ op);
(如何确保上面的nohup命令正常工作以及sendMail.php文件实际上是否正常工作?sendMail.php不是守护进程。它会发送一封电子邮件然后退出。)
非常感谢你。
答案 0 :(得分:2)
不熟悉Monit,所以无法帮助你。但是,不是调用exec()
,而是可以使用Process Control(pcntl _ *())扩展来分叉单独的进程并等待它们将状态代码返回到父进程,以便它知道作业是否具有是否已成功完成。