我目前运行在一个PHP脚本这些行:运行PHP的exec()异步/多进程
foreach ($list as $route)
{
exec('php-cgi ./nextbus-route_stop_predictions.php route=' . $route['route_id']);
}
nextbus-route_stop_predictions.php大约需要15秒的运行和exec()是跑来跑去12次。我想知道PHP是否能够运行这些命令行而无需等待前一个exec()的输出。所以基本上,我想运行这个异步/多进程。
更新
对于任何人还在寻找答案,我用nohup
和管道输出到/dev/null
我已经使用了很多次,并且必须说如果你的工作是高度并行的(意思是你不需要进程间的通信或同步),那么它工作得非常好。我用它一次解析大约500个XML文件(每个大约1GB)。我简单地为每个进程分配一个子进程(当然,使用进程池),让它运行单元它退出... – ircmaxell 2010-07-26 23:14:03
不完全确定这是如何运行的,但是在我的for循环中,我只是$ pid = pcntl_fork()吗? – 2010-07-26 23:51:15