下面是我的代碼段
<?php/** * Created by PhpStorm. * User: lipeiran * Date: 2017/2/10 * Time: 下午3:51 *//*$a = 3;$pids= array(); // 進程PID數組for($i = 0;$i<2;$i++){ $pids[$i] = pcntl_fork();// 產生子進程,而且從當前行之下開試運行代碼,而且不>繼承父進程的數據信息 echo " start ".$pids[$i]." a is ".$a."/n"; if(!$pids[$i]) { exit(0); }// echo " end ".$pids[$i]."/n";}*/for ($i = 1; $i <= 5; ++$i) { $pid = pcntl_fork(); if (!$pid) { sleep(1); PRint "In child $i/n"; exit($i); } else{ echo "this in for main $i/n"; }} if(!$pid){ echo "out is child /n"; } else{ echo "this is mainProcess /n"; } while (pcntl_waitpid(0, $status) != -1) { $status = pcntl_wexitstatus($status); echo "Child $status completed/n";};http://www.php.net/manual/zh/function.pcntl-fork.php 這個上面好多可以看的講解,以及代碼段這個代碼段說明,每次fock以后主進程&子進程都會執行for循環里面的代碼,而只有主進程執行for之外的代碼,而且通過waitpid來監控子進程的狀態。
新聞熱點
疑難解答