一:PHP 信號數據結構
- SIGINT / SIGTERM / SIGQUIT函數
- 退出FPM,在master收到退出信號後將向全部的worker進程發送退出信號,而後master退出。spa
- SIGUSR1操作系統
- 從新加載日誌文件,生產環境中一般會對日誌進行切割,切割後會生成一個新的日誌文件。日誌
- 若是fpm不從新加載將沒法繼續寫入日誌,這個時候就須要向master發送一個USR1的信號。進程
- SIGUSR2it
- 重啓FPM ,首先master也是會向全部的worker進程發送退出信號,而後master會調用execvp()從新啓動fpm,最後舊的master退出。ast
- SIGCHLD配置
- 這個信號是子進程退出時操做系統發送給父進程的,子進程退出時,內核將子進程置爲殭屍狀態,這個進程稱爲殭屍進程。數據
- 它只保留最小的一些內核數據結構,以便父進程查詢子進程的退出狀態,只有當父進程調用wait或者waitpid函數查詢子進程退出狀態後子進程才了結止。
- fpm中當worker進程由於異常緣由(好比coredump了)退出而非master主動殺掉時master將受到此信號
- 這個時候父進程將調用waitpid()查下子進程的退出,而後檢查下是否是須要從新fork新的worker
一:PHP 基本操做
三:PHP 配置