PHP的進(jìn)程控制支持實(shí)現了Unix方式的進(jìn)程創(chuàng )建, 程序執行, 信號處理以及進(jìn)程的中斷。 進(jìn)程控制不能被應用在Web服務(wù)器環(huán)境,當其被用于Web服務(wù)環(huán)境時(shí)可能會(huì )帶來(lái)意外的結果。
這份文檔用于闡述每個(gè)進(jìn)程控制函數的通常用法。關(guān)于Unix進(jìn)程控制的更多信息建議您查閱 系統文檔中關(guān)于fork(2),waitpid(2),signal(2)等的部分或更全面的參考資料比如 《Unix環(huán)境高級編程》(作者:W. Richard Stevens,Addison-Wesley出版)。
PCNTL現在使用了ticks作為信號處理的回調機制,ticks在速度上遠遠超過(guò)了之前的處理機制。 這個(gè)變化與“用戶(hù)ticks”遵循了相同的語(yǔ)義。您可以使用declare() 語(yǔ)句在程序中指定允許發(fā)生回調的位置。這使得我們對異步事件處理的開(kāi)銷(xiāo)最小化。在編譯PHP時(shí) 啟用pcntl將始終承擔這種開(kāi)銷(xiāo),不論您的腳本中是否真正使用了pcntl。
有一個(gè)調整是PHP 4.3.0之前的所有pcntl腳本要使其工作,要么在期望允許回調的(代碼)部分使用 declare() ,要么使用declare()新的全局語(yǔ)法 使其在整個(gè)腳本范圍有效。
注意: 此擴展在 Windows 平臺上不可用。