From: Tanaka Akira Date: 2012-06-25T14:27:27+09:00 Subject: [ruby-dev:45809] Re: :new_pgroup and :pgroup option for spawn. 2012年6月25日 13:25 U.Nakamura : > えーと、akrさんのコードの意味がわからない、とかじゃなくて、 > Windowsで、適切にシェルを経由させて、その上で、シェルとシェル > から起動されたプロセスを同一のプロセスグループに割り当てた状 > 態を作り上げる適切な方法がよくわからない、のです。 ふむ。今のところ :pgroup と :new_pgroup をマージしてもうれしくはない感じかなぁ。 あ、「コンソールでCtrl+Break」でプロセスグループ終了という点ですが、 終了するのはどのプロセスグループでしょう? Unix では、端末に foreground process group として設定されたプロセスグループなので、 以下のように、:pgroup => true として起動したコマンドはむしろキーボードからの ^C (で生成された SIGINT シグナル) では終了しなくなります。 % ruby -e 'pid = spawn("sleep 100", :pgroup => true); sleep' ^C-e:1:in `sleep': Interrupt from -e:1:in `
' zsh: interrupt ruby -e 'pid = spawn("sleep 100", :pgroup => true); sleep' % ps auxww|grep sleep akr 5464 0.0 0.0 5136 580 pts/7 S 14:24 0:00 sleep 100 akr 5467 0.0 0.0 7392 876 pts/7 S+ 14:24 0:00 grep sleep % -- [田中 哲][たなか あきら][Tanaka Akira]