php pcntl多进程

需要安装PHP扩展 pcntl posix

<?php
/**
 * Created by PhpStorm.
 * User: zhangheg
 * Date: 2019/4/14
 * Time: 18:06
 */
$a = 1;

$ppid = posix_getpid();//获取当前的进程号
echo $ppid.PHP_EOL;
//创建多个进程
for($i=0;$i<2;$i++){
    $pid = pcntl_fork(); //创建成功返回子进程ID
    if($pid<0){
        //父进程空间
        exit('创建失败了');
    }else if($pid>0){
        //父进程空间返回子进程ID
        $a = 2;

        $status = 0;//等待回收僵尸进程
        $pid = pcntl_wait($status); //结束的子进程信息,阻塞状态
        echo "字进程回收了id:$pid".PHP_EOL;
    }else{
        //返回为0子进程空间
        //子进程创建成功
        sleep(10);

    }
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注