我用下面的网站,以帮助我在PHP后台进程 - http://nsaunders.wordpress.com/2007/01/12/running-a-background-process-in-php/PHP后台进程不工作
我的代码基本上是除了我shell_exec
方法同样是这样的 -
nohup php -f /my/path/to/import_products.php 2 > /dev/null 2> /dev/null & echo $!
它正在执行的PHP脚本运行良好,产品已导入,但是当我将sleep(10)
添加到import_products.php
时,while(is_process_running($ps))
仅循环一次并退出。
似乎正在执行的命令shell_exec
正在立即完成,而不是等待10秒(来自sleep(10)
)。
任何想法,为什么这可能是?
编辑
我想我的问题真的是“为什么不等待PHP脚本退出的进程将停止上显示的是PS过吗?” - 当PHP脚本正在睡眠10秒ps $pid
应该显示该过程至少10秒?
您是否启用了错误报告?尝试检查错误日志以获取更多信息。 – 2012-04-26 09:08:03
'sleep'依赖于'is_process_running',它在大部分时间都处于'while循环中,除非它是一个很长的进程'..它只会运行一次然后终止 – Baba 2012-04-26 09:10:54
请问为什么您修改了给定的代码链接?你不希望它做什么? – DaveRandom 2012-04-26 09:11:47