《PHP - 信號/基本操做/配置》

一: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 配置

相關文章
相關標籤/搜索