首頁 > php教程 > PHP开发 > 主體

php pcntl_fork和pcntl_fork 的用法

高洛峰
發布: 2016-12-22 16:14:45
原創
1676 人瀏覽過

pcntl_fork()函數就是為目前的進程建立一個子進程。且先運行父進程,回傳的是子進程的PID,一定大於零。在父進程的程式碼中可以用pcntl_fork(&$status)暫停父進程知道他的子進程有回傳值。注意:父進程的阻塞同時會阻塞子進程。但是父進程的結束不影響子進程的運作。 
父進程運行完了會接著執行子進程,這時子進程會從執行pcntl_fork()的那條語句開始執行(包括此函數),但是此時它回傳的是零(代表這是一個子進程)。在子進程的程式碼區塊中最好有exit語句,即執行完子進程後立即就結束。否則它會又重頭開始執行這個腳本的某些部分(一直沒有總結出規矩)。 
總之,注意兩點: 
1。子進程最好有exit;語句,防止不必要的出錯; 

$pid = pcntl_fork(); 
//这里最好不要有其他的语句 
if ($pid == -1) { 
die('could not fork'); 
} else if ($pid) { 
// we are the parent 
pcntl_wait($status); //Protect against Zombie children 
} else { 
// we are the child 
}
登入後複製

更多php pcntl_fork和pcntl_fork 的用法相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!