2007年1月15日月曜日

svcでSIGWINCHを送りたかったりしてね

apacheのログをみてると、

[Mon Jan 15 18:06:05 2007] [warn] long lost child came home! (pid 8191)
[Mon Jan 15 18:06:05 2007] [warn] long lost child came home! (pid 8187)
[Mon Jan 15 18:06:05 2007] [warn] long lost child came home! (pid 8186)
[Mon Jan 15 19:20:19 2007] [warn] long lost child came home! (pid 8802)
[Mon Jan 15 19:20:19 2007] [warn] long lost child came home! (pid 8801)
[Mon Jan 15 19:20:19 2007] [warn] long lost child came home! (pid 8800)

なんだかいやらしいウォーニングがでてた。
停止と再起動をみると、
--
スコアボードが壊れた場合は、 "bind: Address already in use" (HUP 後) や "long lost child came home!" (USR1 後) といった結果になります。 前者は致命的なエラーですが、 後者はスコアボードスロットを失うだけです。 ですから緩やかな再起動は、たまに確実な再起動 (HUP) も併用して使った方が良いでしょう。 これらの問題を克服するのは非常に難しいのですが、 幸いなことに大部分のアーキテクチャではスコアボードのファイルは必要ありません。
--

とのこと。gracefulなrestartしてるならたまにHUPをしましょう、と。
HUPだとプチっときれちゃう。それでもいいっちゃいいけど
daemontools使ってsuperviseがみてくれてるから、
graceful-stop して起動しなおしでもよいかも?
と思いdaemontools-0.76.sigq12.patchをみて
svc,superviseでSIGWINCHを扱えるパッチを作成
wの箇所を追加しただけ。
graceful-stop = SIGWINCHであることはFreeBSDでだけ確認

・daemontools-0.76.sigq12w.patch
とでもしようか
同じようなのどこかに転がってそうね。。

daemontools-0.76.sigq12w.patch

0 件のコメント:

コメントを投稿