From: Hidetoshi NAGAI Date: 2008-05-15T15:30:42+09:00 Subject: [ruby-dev:34715] Re: [ruby1.9] fork と thread 永井@知能.九工大です. From: Nobuyoshi Nakada Subject: [ruby-dev:34712] Re: [ruby1.9] fork と thread Date: Thu, 15 May 2008 14:26:23 +0900 Message-ID: <20080515052620.6E6CFE089D@mail.bc9.jp> > 1.9にはProcess.detachというメソッドもあります。また、forkのない > 環境も考えれば、fork+execよりもProcess.spawnを使うほうがいいと思 > います。 > > th = Process.detach(Process.spawn("...", "...")); th.value > > これも同じように動かないでしょうか。 おっしゃる通り spawn を使うべきでしたが,それはそれとして, いただいたメールのように detach するのでは動きません. ------------------------------------------------------------ $ irb19 irb(main):001:0> th = Process.detach(Process.spawn('kterm')) => # ... kterm は動かしたまま ... irb(main):002:0> th => # <== プロセスの終了を待てずに死亡 irb(main):003:0> th = Thread.new{Process.waitpid(Process.spawn('kterm'))} => # irb(main):004:0> th => # irb(main):005:0> th.value <== こちらは OK => 1092 ------------------------------------------------------------ というようになります. -- 永井 秀利 (九工大 知能情報) nagai@ai.kyutech.ac.jp