欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解如何用PHP?實(shí)現(xiàn)多進(jìn)程

 更新時間:2022年09月16日 09:14:06   作者:CRMEB技術(shù)團(tuán)隊(duì)  
這篇文章主要為大家介紹了如何用PHP?實(shí)現(xiàn)多進(jìn)程實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

本文將講解如下內(nèi)容:

1.PHP 原生進(jìn)程函數(shù)介紹

2.PHP 實(shí)現(xiàn)多進(jìn)程代碼

1、PHP 原生進(jìn)程函數(shù)

雖然說 PHP 是世界上最好的語言,但是對于 PHPer 們來說,對多進(jìn)程、進(jìn)程管理還是相對陌生的。本文將講解一下使用 PHP 原生代碼如何實(shí)現(xiàn)多進(jìn)程。

首先我們要了解 PHP 實(shí)現(xiàn)多進(jìn)程的函數(shù),如 pcntl_fork、pcntl_wait、pcntl_waitpid 等。

pcntl_fork ( void ) : int

這個函數(shù)的作用是創(chuàng)建子進(jìn)程,并且返回 int 類型的進(jìn)程 ID,父進(jìn)程和子進(jìn)程都是從 fork 的位置開始向下繼續(xù)執(zhí)行。

子進(jìn)程創(chuàng)建成功時,在父進(jìn)程執(zhí)行線程內(nèi)返回產(chǎn)生的子進(jìn)程的 PID,在子進(jìn)程執(zhí)行線程內(nèi)返回 0。創(chuàng)建失敗時,在父進(jìn)程上下文返回 - 1,不會創(chuàng)建子進(jìn)程,并且會引發(fā)一個 PHP 錯誤。

pcntl_wait ( int &$status [, int $options = 0 ] ) : int

這個函數(shù)的作用是等待或返回 fork 的子進(jìn)程狀態(tài)。此函數(shù)會掛起當(dāng)前進(jìn)程的執(zhí)行,直到一個子進(jìn)程退出或者受到一個信號要求中斷當(dāng)前進(jìn)程或者調(diào)用一個信號處理函數(shù)。如果一個子進(jìn)程在調(diào)用此函數(shù)時已經(jīng)退出,此函數(shù)立刻返回。

此函數(shù)返回退出的子進(jìn)程號,發(fā)生錯誤時返回 - 1,如果提供了 WNOHANG 作為 option 并且沒有可用子進(jìn)程時返回 0。

 

pcntl_waitpid ( int $pid , int &$status [, int $options = 0 ] ) : int

這個函數(shù)的作用是等待或返回 fork 的子進(jìn)程狀態(tài)。調(diào)用這個函數(shù)會掛起當(dāng)前進(jìn)程的執(zhí)行,直到參數(shù) pid 指定的進(jìn)程號的進(jìn)程退出,或者接收到一個信號要求中斷當(dāng)前進(jìn)程或調(diào)用一個信號處理函數(shù)。

pcntl_waitpid () 返回退出的子進(jìn)程進(jìn)程號,發(fā)生錯誤時返回 - 1, 如果提供了 WNOHANG 作為 option,并且沒有可用子進(jìn)程時返回 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(默認(rèn)信號處理程序)。

restart_syscalls 指定當(dāng)信號到達(dá)時系統(tǒng)調(diào)用重啟是否可用。

函數(shù)返回值為 bool 型,成功時返回 true,失敗時返回 false。

2、PHP 實(shí)現(xiàn)多進(jìn)程代碼

以上就是詳解如何用PHP 實(shí)現(xiàn)多進(jìn)程的詳細(xì)內(nèi)容,更多關(guān)于PHP 多進(jìn)程的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論