From: "鈴木 昭二" Date: 2011-02-11T21:53:10+09:00 Subject: [ruby-list:47871] Re: system関数について ありがとうございます。 稀にというのが、10間隔の起動で数日間に一度の頻度のため 再現が難しい状況です。 > 個人的にはその実行しているプロセスの問題じゃないかなぁと思っています。 > その他のプロセスでも同じような状況になりますか? > あとはシェルからそのプロセスを実行するとどうなりますか? > > また、実行時の環境変数の違いなどで発生していたりすることも考えられなくはないと 子プロセス、孫プロセスを単純なテストプログラムに 入れ替えて状況をみるのも手ですね。切り分けになりそうです。 rubyを常駐させて他サーバからのコール(drubyで実装)で子プロセスを起動 する方法をとっているので、これをシェルに置き換えるのことは 難しい(サーバ間連携)です。 > 親プロセスの ruby インタプリタに kill で SIGCHLD シグナルを送るとどうなりますか? > これでゾンビが成仏しない場合は、 ruby インタプリタに kill -9 を送ってみてくだい。 > init(pid=0)が里親となったあと供養してくれると思います。 > > 子プロセスがマルチスレッドで実装されているってことはありませんか? > でもゾンビなんですよね??? シグナルは試してみます。 子プロセスは、シェル + php_cliで実装しています。 孫プロセスは、シェル + FORTRANで実装しています。 正直なところ孫プロセスの実装はブラックボックスです。やはり確認が必要ですね。 ゾンビの要因としてマルチスレッドの可能性が高いということでしょうか。