2009年9月18日

[PHP-users 34779] Re:sleep関数が復帰せずプロセスがダウンする

前田さま

この度はお世話になります。久保田と申します。

コメントを頂き感謝申し上げます。

>  前田です。
>

>  同じ環境を作れないので、確認できないのですが、Apache自身の
> workerプロセスが終了するときに、シグナルが飛んできて一緒に
> 終了しているのでは無いですか?
そんな動きをしているのですね。勉強になりました。
Apacheの動きをもっと理解しないと行けないと痛感。

>  MaxRequestsPerChild の設定に依存しますが、デフォルト値は
> 10000となっており、10000リクエスト毎にサーバープロセスは
> 終了します。
MaxRequestsPerChildの値が0となっておりました。
と言う事は、今回のケースに関してはMaxRequestsPerChildの設定に関係ないと言う事で
すね。
追加情報ですが、何度か試験を繰り返すと同じ時刻(0:10)にプロセスがダウンしており
ました。
Apacheが定期的に何かを行っている事が怪しいと理解できます。
その点をつめてみたいと思います。

>  pcntl_signalで、シグナルハンドラ設定してログを書かせてみれば
> 判断できると思います。
>
>  飛んでくるシグナルを無視することで、プロセスが終了することは
> なくなりますが、もし、子プロセスが長期間待機する性質のもので
> あれば、CLI等で作ったデーモンプロセスを用意するほうがベター
> だと思います。
>  複数の異なるかも知れない親からforkされるプロセス群を安全に
> 管理するのは大変だからです。
>
>  シグナルを無視するようにしたとして、Apache自体を再起動した
> 際に、各々の子プロセスの後始末をきれいにやったり、安全な排他
> 処理を用意したりするのは気を使います。
他の方のコメントも含めて検討します。

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2009年9月18日 11:57
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/88703
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。