php多进程小实例

<?php
$pid=pcntl_fork();//fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程 号,而子进程得到的是0。
if ($pid==-1) {
    //die('创建子进程失败');
    die('failed');
}elseif($pid){
    echo 'P';
    pcntl_wait($status);
    $id=getmypid();
    //echo "父进程ID为{$id},子进程ID为{$pid}";
    echo "ParentPID:{$id},ChildPid:{$pid}";
}elseif($pid==0){
    $id=getmypid();//返回当前进程的pid
    //echo "子进程PID为{$id}";
    echo "ChildPid:{$id}";
    sleep(30);
}

?>

上面是我写的一个php多进程小实例,如果需要同时执行跟多的进程,在父进程或者子进程中继续使用pcntl_fork(),另外别忘了在父进程中使用pc_wait($status),否则容易成为僵尸进程。

posted @ 2016-01-20 11:31  炫彩年华  阅读(157)  评论(0编辑  收藏  举报