我有一個PHP腳本,它將任務分成多個部分,並在獨立的子進程中運行每個部分。代碼如下所示:php一些分叉進程繼續運行
foreach($users as $k => $arr) {
if(($pid = pcntl_fork()) === -1) continue;
if($pid) {
pcntl_wait($status,WNOHANG);
continue;
}
ob_start();
posix_setsid();
dbConnect();
// do stuff to data
exit();
}
我使用Debian服務器上的crontab運行此腳本,但問題是一些進程保持運行和備用內存。一段時間後,服務器的內存被淹沒。 我需要找到一種方法來確保所有進程都能正確完成。
非常感謝它的工作現在父進程在退出之前等待所有的子進程結束運行。 – abugnais 2012-02-21 10:15:35