使用cron使php脚本启动连续进程

时间:2011-12-10 17:18:20

标签: php background cron nohup

我创建了一个每隔5分钟调用一个php脚本的cronjob。

这个PHP脚本需要启动其他几个PHP CLI脚本,并使它们在后台运行,即使cron脚本终止也是如此。

我目前正在通过以下代码行创建这些子流程:

if (!$pid = shell_exec("nohup /var/[..]/cake.php test doSomething > /dev/null 2>&1 & echo $!")) return false;  

当我通过命令行调用“的母亲”时,一切都很好。但是,当cron-job停止时,上面的代码行似乎终止了子进程startet。

那么如何生成这些cake.php test doSomething脚本并保持子进程在crontab中的预定义用户下运行?

1 个答案:

答案 0 :(得分:3)

这是有道理的,你需要告诉孩子PHP脚本在父母停止时不会终止。

ignore_user_abort(true);

将以上行添加到子PHP脚本中。应该这样做