在后台运行PHP脚本

时间:2013-11-18 22:29:33

标签: php shell exec multiprocessing background-process

所以我想知道2013年是否有更好的方法来做到这一点。

旧答案提示类似

shell_exec('nohup php script.php some_argument another_argument > /dev/null 2>&1 &');

这似乎有效,但看起来很奇怪。而事实是,我对我执行的脚本没有多少控制权。例如,我希望有可能在另一个请求中终止它。我找到的唯一解决方案是将文件放在某处,例如" exit_now.txt',然后在该脚本中检查该文件是否存在,如果存在则触发exit()

1 个答案:

答案 0 :(得分:0)

您可以向被调用的进程发送信号(通过shell的kill命令)并将信号处理程序安装到您的程序中,以便您按照自己的意愿做出反应。

Documentation for installing signal handler

Example with pcntl_fork() and pcntl_signal()