我目前運行在一個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