apache graceful
-
- 常識じゃね?と言われそうだけれど。
親プロセスは USR1 あるいは graceful シグナルを受け取ると、子プロセスに現在のリクエストの処理の後に終了する (あるいは何もしていなければすぐに終了する) ように助言します。 親プロセスは設定ファイルを再読込して、ログファイルを開き直します。 子プロセスが徐々になくなるに従って、 新しい世代の設定による子プロセスに置き換えていきます。 そして、これらが新たなリクエストに即座に応答し始めます
http://httpd.apache.org/docs/2.0/ja/stopping.html
// graceful実行 # /usr/sbin/apachectl graceful // 読み込まれると以下のログが出る # tail -F /var/log/httpd/error_log [Wed Oct 27 20:21:36 2010] [notice] Graceful restart requested, doing restart // reloadの場合は実行中の子プロセスが殺される(親は生きてる) # cat /etc/init.d/httpd reload reload() { echo -n $"Reloading $prog: " if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then RETVAL=$? echo $"not reloading due to configuration syntax error" failure $"not reloading $httpd due to configuration syntax error" else killproc -p ${pidfile} $httpd -HUP RETVAL=$? fi echo }
-
- なのでreload よりは graceful が良い。