我有一个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