えぐち@エスアンドイーです

2011年2月11日15:08 "鈴木 昭二" <s-suzuki / cic-kk.co.jp>:
> 子プロセスを起動し、終了を待つもので
> system関数で子プロセスの起動・終了待ちを行っています。
> また、子プロセス(シェル)においても孫プロセス(シェル)の起動・終了待ちを行っています。
>
> 稀に子プロセスが終了したにもかかわらず
> system関数より制御が戻らなくなりハングした状態になります。
> この事象が発生したとき子プロセスがdefunctになっています。
> ただし、子プロセスのアプリログでは正常終了を出力しています。

親プロセスの ruby インタプリタに kill で SIGCHLD シグナルを送るとどうなりますか?
これでゾンビが成仏しない場合は、 ruby インタプリタに kill -9 を送ってみてくだい。
init(pid=0)が里親となったあと供養してくれると思います。

子プロセスがマルチスレッドで実装されているってことはありませんか?
でもゾンビなんですよね???

  えぐち