创建新的进程

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;
}

?>

Leave a comment

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