我正在使用以下网站来帮助我处理 PHP 中的后台进程 - http://nsaunders.wordpress.com/2007/01/12/running-a-background-process-in-php/
我的代码基本相同,只是我的shell_exec
方法如下所示 -
nohup php -f /my/path/to/import_products.php 2 > /dev/null 2> /dev/null & echo $!
它正在执行的 PHP 脚本运行良好并且产品已导入,但是当我将 a 添加sleep(10)
到唯一import_products.php
的while(is_process_running($ps))
循环一次并退出时。
似乎shell_exec
正在执行的命令立即完成,而不是等待 10 秒(从sleep(10)
)。
任何想法为什么会这样?
编辑
我想我的问题确实是“为什么进程不等待 PHP 脚本在它停止出现在 ps 中之前退出?” - 当然,因为 PHP 脚本正在休眠 10 秒ps $pid
应该显示该进程至少 10 秒?