apache2 重啓、中止、優雅重啓、優雅中止

中止或者從新啓動Apache有兩種發送信號的方法

     第一種方法:linux

    直接使用linux的kill命令向運行中的進程發送信號。你也許你會注意到你的系統裏運行着不少httpd進程。但你不該該直接對它們中的任何一個發送信號,而只要對已經在PidFile中記載下了自身PID的父進程發送信號。也就是說,你沒必要對父進程之外的任何進程發送信號。你能夠向父進程發送三種信號:TERMHUPUSR1 ,咱們過一下子再進行詳細的說明。apache

    你能夠用下面這樣的命令來向父進程發送信號:spa

      kill -TERM cat /usr/local/apache2/logs/httpd.pid命令行

 第二種方法
    使用下面將要描述的httpd二進制可執行文件的 -k 命令行選項:stoprestartgracefulgraceful-stop 。不過更推薦你使用apachectl控制腳原本向httpd二進制可執行文件傳遞這些選項。rest

    當你向httpd發送信號後,你能夠這樣來讀取它的進行過程:日誌

      tail -f /usr/local/apache2/logs/error_logcode

1.中止

    apachectl -k stop

   發送TERM或stop信號到父進程可使它馬上殺死全部子進程。這將花費一些時間來殺死全部子進程。而後父進程本身也退出。全部進行中的請求將被強行停止,並且再也不接受其它請求。

2.重啓

    apachectl -k restart 

   向父進程發送HUP或restart信號會使它象收到TERM信號同樣殺掉全部的子進程,不一樣之處在於父進程自己並不退出。它從新讀入配置文件、從新打開日誌文件。而後產生一系列新的子進程來繼續服務。

3.優雅重啓

    apachectl -k graceful 

   USR1或graceful信號使得父進程建議子進程在完成它們如今的請求後退出(若是他們沒有進行服務,將會馬上退出)。父進程從新讀入配置文件並從新打開日誌文件。每當一個子進程死掉,父進程馬上用新的配置文件產生一個新的子進程並馬上開始伺服新的請求。


4.優雅中止

    apachectl -k graceful-stop

   WINCH或graceful-stop信號使得父進程建議子進程在完成它們如今的請求後退出(若是他們沒有進行服務,將會馬上退出)。而後父進程刪除PidFile並中止在全部端口上的監聽。父進程仍然繼續運行並監視正在處理請求的子進程,一旦全部子進程完成任務並退出或者超過由GracefulShutdownTimeout指令規定的時間,
    父進程將會退出。在超時的狀況下,全部子進程都將接收到TERM信號並被強制退出。
相關文章
相關標籤/搜索