<?php $pid = pcntl_fork(); //父進程和子進程都會執行下面代碼 if ($pid == -1) { //錯誤處理:建立子進程失敗時返回-1. die('could not fork'); } else if ($pid) { //父進程會獲得子進程號,因此這裏是父進程執行的邏輯 pcntl_wait($status); //等待子進程中斷,防止子進程成爲殭屍進程。 } else { //子進程獲得的$pid爲0, 因此這裏是子進程執行的邏輯。 } ?>
(PHP 4 >= 4.1.0, PHP 5, PHP 7)php
pcntl_fork — 在當前進程當前位置產生分支(子進程)。譯註:fork是建立了一個子進程,父進程和子進程 都從fork的位置開始向下繼續執行,不一樣的是父進程執行過程當中,獲得的fork返回值爲子進程 號,而子進程獲得的是0。code