詳解如何用PHP?實現(xiàn)多進程
引言
本文將講解如下內(nèi)容:
1.PHP 原生進程函數(shù)介紹
2.PHP 實現(xiàn)多進程代碼

1、PHP 原生進程函數(shù)
雖然說 PHP 是世界上最好的語言,但是對于 PHPer 們來說,對多進程、進程管理還是相對陌生的。本文將講解一下使用 PHP 原生代碼如何實現(xiàn)多進程。
首先我們要了解 PHP 實現(xiàn)多進程的函數(shù),如 pcntl_fork、pcntl_wait、pcntl_waitpid 等。
pcntl_fork ( void ) : int
這個函數(shù)的作用是創(chuàng)建子進程,并且返回 int 類型的進程 ID,父進程和子進程都是從 fork 的位置開始向下繼續(xù)執(zhí)行。
子進程創(chuàng)建成功時,在父進程執(zhí)行線程內(nèi)返回產(chǎn)生的子進程的 PID,在子進程執(zhí)行線程內(nèi)返回 0。創(chuàng)建失敗時,在父進程上下文返回 - 1,不會創(chuàng)建子進程,并且會引發(fā)一個 PHP 錯誤。
pcntl_wait ( int &$status [, int $options = 0 ] ) : int
這個函數(shù)的作用是等待或返回 fork 的子進程狀態(tài)。此函數(shù)會掛起當前進程的執(zhí)行,直到一個子進程退出或者受到一個信號要求中斷當前進程或者調(diào)用一個信號處理函數(shù)。如果一個子進程在調(diào)用此函數(shù)時已經(jīng)退出,此函數(shù)立刻返回。
此函數(shù)返回退出的子進程號,發(fā)生錯誤時返回 - 1,如果提供了 WNOHANG 作為 option 并且沒有可用子進程時返回 0。

pcntl_waitpid ( int $pid , int &$status [, int $options = 0 ] ) : int
這個函數(shù)的作用是等待或返回 fork 的子進程狀態(tài)。調(diào)用這個函數(shù)會掛起當前進程的執(zhí)行,直到參數(shù) pid 指定的進程號的進程退出,或者接收到一個信號要求中斷當前進程或調(diào)用一個信號處理函數(shù)。

pcntl_waitpid () 返回退出的子進程進程號,發(fā)生錯誤時返回 - 1, 如果提供了 WNOHANG 作為 option,并且沒有可用子進程時返回 0。
pcntl_signal ( int $signo , callback $handler [, bool $restart_syscalls = true ] ) : bool
這個函數(shù)的作用是安裝信號處理器,為 signo 指定的信號安裝一個新的信號處理器。
signo 為信號編號。
handler 為信號處理器,可以是用戶創(chuàng)建的函數(shù)或方法,也可以是系統(tǒng)常亮 SIG_IGN(忽略信號處理程序)或 SIG_DFL(默認信號處理程序)。
restart_syscalls 指定當信號到達時系統(tǒng)調(diào)用重啟是否可用。
函數(shù)返回值為 bool 型,成功時返回 true,失敗時返回 false。
2、PHP 實現(xiàn)多進程代碼


以上就是詳解如何用PHP 實現(xiàn)多進程的詳細內(nèi)容,更多關(guān)于PHP 多進程的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
shopex主機報錯誤請求解決方案(No such file or directory)
最近vps客戶和服務(wù)托管客戶安裝了shopex網(wǎng)店系統(tǒng),他們的主機都報錯,錯誤特點一樣,針對這個錯誤我司技術(shù)推出shopex主機報錯誤請求解決方案,希望能給予各位一點幫助2011-12-12
WordPress開發(fā)中用于標題顯示的相關(guān)函數(shù)使用解析
這篇文章主要介紹了WordPress開發(fā)中用于標題顯示的相關(guān)函數(shù)使用解析,講解了single_cat_title函數(shù)和get_the_title函數(shù)和the_title函數(shù)的用法,需要的朋友可以參考下2016-01-01
PHP中preg_match函數(shù)正則匹配的字符串長度問題
這篇文章主要介紹了PHP中preg_match函數(shù)正則匹配的字符串長度問題,如果你也遇到了preg_match正則提取內(nèi)容時總是空白或提取不到的話,那就可能是遇到了這個問題啦,需要的朋友可以參考下2015-05-05
php采用curl模仿登錄人人網(wǎng)發(fā)布動態(tài)的方法
這篇文章主要介紹了php采用curl模仿登錄人人網(wǎng)發(fā)布動態(tài)的方法,分析了curl登陸人人網(wǎng)的原理與具體方法,非常具有實用價值,需要的朋友可以參考下2014-11-11

