簡介

PHP的進(jìn)程控制支持實現(xiàn)了Unix方式的進(jìn)程創(chuàng)建, 程序執(zhí)行, 信號處理以及進(jìn)程的中斷。 進(jìn)程控制不能被應(yīng)用在Web服務(wù)器環(huán)境,當(dāng)其被用于Web服務(wù)環(huán)境時可能會帶來意外的結(jié)果。

這份文檔用于闡述每個進(jìn)程控制函數(shù)的通常用法。關(guān)于Unix進(jìn)程控制的更多信息建議您查閱 系統(tǒng)文檔中關(guān)于fork(2),waitpid(2),signal(2)等的部分或更全面的參考資料比如 《Unix環(huán)境高級編程》(作者:W. Richard Stevens,Addison-Wesley出版)。

PCNTL現(xiàn)在使用了ticks作為信號處理的回調(diào)機(jī)制,ticks在速度上遠(yuǎn)遠(yuǎn)超過了之前的處理機(jī)制。 這個變化與“用戶ticks”遵循了相同的語義。您可以使用declare() 語句在程序中指定允許發(fā)生回調(diào)的位置。這使得我們對異步事件處理的開銷最小化。在編譯PHP時 啟用pcntl將始終承擔(dān)這種開銷,不論您的腳本中是否真正使用了pcntl。

有一個調(diào)整是PHP 4.3.0之前的所有pcntl腳本要使其工作,要么在期望允許回調(diào)的(代碼)部分使用 declare() ,要么使用declare()新的全局語法 使其在整個腳本范圍有效。

注意: 此擴(kuò)展在 Windows 平臺上不可用。