【问题标题】:using cron to make php-script starting continuous processes使用 cron 使 php-script 启动连续进程
【发布时间】:2011-12-10 17:18:19
【问题描述】:

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

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

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

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

当我通过命令行调用“motherscript”时,一切正常。但是,当 cron-job 停止时,上述代码行的子进程似乎被终止了。

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

【问题讨论】:

    标签: php background cron nohup


    【解决方案1】:

    这是有道理的,您需要告诉子 PHP 脚本在其父停止时不要终止。

    ignore_user_abort(true);
    

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

    【讨论】:

    • 遗憾的是这并没有改变任何东西
    • 对不起 - 确实如此!我把它放在错误的文件中;)非常感谢!