Kimura Fuyuki
fuyuk****@nigre*****
2004年 2月 1日 (日) 11:06:59 JST
At Sun, 1 Feb 2004 03:07:13 +0900, yamada <yamad****@tir*****> wrote: > > Gauche-fastcgiを使っていて気づいたのですが、 > 今のところ、シグナルは全部無視するようになってます? > apachectlでrestart等をすると、以前のfastcgiプロセスが残ってしまいます。 > (普通にkillしても死ななかったので、-9で殺しました) 実は昨日それではまってました。(うちだけの問題でないことがわかってよかっ たです) 0.0ではシグナルに関してなにもしていないので、SIGTERM で死んでくれると 思ったんですけどね。 原因はまだつかめてませんが、おそらくGaucheの シグナルがSchemeプロセスに送られると、それはVM中のキューに入れ られます。 VMは「安全なポイント」に達した時にキューを検査し、 シグナルが届いていればそれを順に処理します。 という特性に関係があるのではないかと見ています。killしたあと、ページを リロードしたりするといちおう死んではくれるので。 > apachectlでrestart, graceful等を行うと、apacheのプロセス群には、 > restart時にはSIGHUP、graceful時にはSIGUSR1が流れるのですけど、 > 多分、httpdから動的起動したfastcgiプロセスにも、 > 伝わる…‥ような気がします。 > ( http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html > のNotesの辺り。SIGHUPは伝わらない???) mod_fastcgiのソースを見てたらTERM以外流してくれないような気がしてきま した。仕様上は「FastCGIアプリはTERMで死ぬべし」としかなってないはずな ので、それでいいといえばいいのかもしれませんが。 -- 木村 冬樹