Day:2007.07.18 17:28 Cat:コンピュータ的なこと rubyのforkで子プロセスを起こした際、親プロセスでProcess.waitを呼んであげないとZombieプロセスになってしまう。そのため ・親プロセスから子プロセスをfork。親プロセスでProcess.wait ・子プロセスから孫プロセスをfork。子プロセスでexit! ・孫プロセスのpidを親プロセスに通知。孫プロセスの終了を親プロセスで管理 などというテクニックが一般的(?)のようだ。こうしないと子プロセスを待てないし、単純に子プロセスの終了を待とうとするとマルチプロセスプログラムにならない。 最近のruby(1.7以降)であれば、Process.detach を呼ぶことで上記の問題を解決できる模様。子プロセスを待つ別スレッドを生成してるようで、単純に親プロセス側で Process.detach を呼べば