続、続、不可解なTomcat停止事象
とりあえず、後日談。
今回の事象は、こんなことのよう。
- 4:02DailyのCron
- Logrotate起動(これWeeklyのみ)
- Apacheのログをまわす。このとき、LogRotateからApacheにSIGHUP
- Apacheの親プロセスは自身のプロセスグループにSIGHUP(そすると、子プロセスにSIGHUPされる)
- このタイミングで、TomcatのプロセスでSIGHUP受信。
4と5については、straceでシステムコール見て確かめられた。
けど、4のSIGHUPが5に伝播するかどうかを確認できない。。。
タイミング的には、間違えなさそうなのですがねぇ。証拠がないんです。
プロセスグループを管理するのは、カーネルさんの仕事?なのかなぁ?
ということは、そっち方面で何か起きてるかも?
いろいろ調べてみたけど、これはあきらめました。。。
現時点では、rotatelogというスクリプトを拾ってきて、
ApacheのLogrotateの代わりに動かして、Tomcatの停止が無くなってます。
rotetelogはCopyして元ファイルを切り詰めるので、HUPしなくていいんですよ。
それでおさまってるっぽいです。
うーん。
すっきりしないけど、とりあえず回避できたまでということです。
あ、前に疑ってた、JK2がよれてAJP13のShutdown送ってんじゃね?
については、キャプってみたんですが送って無かったです。
けど、JK2早くやめたいなぁ。。。