使用exec函数PHP后台进程(php background process using exec

2019-08-01 09:25发布

我寻觅了很多,找到确切的答案,但没有发现任何。

很多人提到,我们应该在命令的端头以不等待回应。
例如在后台运行bg.php,此建议:

exec("/usr/bin/php bg.php &");  

但它并没有为我工作。 和主脚本等待bg.php的完整执行。

我也读的地方写bg.php在日志文件中输出,但我的背景脚本不产生任何输出。 它做了一些处理,然后写入数据库的东西。

我只是希望我的脚本来运行bg.php,不要等待它结束。

请帮助我,包括正确的代码。

Answer 1:

你必须从某个地方重新路由程序输出也一样,通常的/ dev / null的

exec($cmd . " > /dev/null &");


Answer 2:

你有没有使用屏幕考虑? 您可以启动,在分离的进程运行的屏幕会话。

screen -d -m -S my_bg_session /usr/bin/php bg.php

您可以稍后再连接到它,如果它仍在运行:

screen -r my_bg_session


文章来源: php background process using exec function