1.核心要点
1.1 函数
- pcntl_fork 创建新进程
- pcntl_waitpid 等待或返回fork的子进程状态
- posix_getpid 返回当前进程 id
- posix_getppid 取得父进程 id
1.2 注意
1.2.1 posix_getpid 返回当前进程 id
<?php
echo "master process id = ". posix_getpid() .PHP_EOL;
sleep(10);
echo $pid;
?>

1.2.2 pcntl_fork 调用一次,返回两个值;子进程得到的是0,父进程得到的子进程 id。
pcntl_fork 创建新进程
<?php
echo "master process id = ". posix_getpid() .PHP_EOL;
//sleep(10);
$pid = pcntl_fork();
switch($pid){
case -1:
die('Create failed');
break;
case 0:
echo "child procedd id = ". posix_getPid().PHP_EOL;
break;
default:
echo "parent process id = ". posix_getpid().PHP_EOL;
}
?>
