<?php
while(1)//循环采用3个进程
{
//declare(ticks=1);
$bWaitFlag= FALSE; // 是否等待进程结束
//$bWaitFlag = TRUE; // 是否等待进程结束
$intNum= 5; // 进程总数
$pids= array(); // 进程PID数组
for($i= 0; $i<$intNum; $i++)
{
$pids[$i] = pcntl_fork();// 产生子进程,而且从当前行之下开试运行代码,而且不继承父进程的数据信息
/*if($pids[$i])//父进程
{
//echo $pids[$i]."parent"."$i -> " . time(). "
";
}
*/
if($pids[$i] == -1)
{
echo"couldn't fork". "
";
}
elseif(!$pids[$i])
{
sleep(1);
echo"
"."第".$i."个进程 -> ". time(). "
";
//$redis->hIncrBy('user_45610', 'badge', 1);
//$url=" 抓取页面的例子
//$content = file_get_contents($url);
//file_put_contents('message.txt',$content);
//echo "
"."第".$i."个进程 -> " ."抓取页面".$i."-> " . time()."
";
exit(0);//子进程要exit否则会进行递归多进程,父进程不要exit否则终止多进程
}
if($bWaitFlag)
{
pcntl_waitpid($pids[$i], $status, WUNTRACED);
echo"wait $i -> ". time() . "
";
}
}
sleep(1);
echo memory_get_usage();
}