Thu, 15 Nov 2001 20:23:02 +0900 頃の
   Mail-Count: 15174
      Subject: [ruby-dev:15174] strange behavior about PTY.spawn   
についてのお話にて やまだは言いました… 
(あ == やまだ あきら)

In article 15174, <20011115112254.7B9EC3546D / rb.arika.org>
あ>   $ ruby -rpty -ve 'Thread.new{begin; PTY.spawn("/bin/sh"){|r,w,pid| p [:pid,pid]; sleep}; rescue RuntimeError; p $!; end}; loop{sleep 1}'
あ>   ruby 1.6.5 (2001-11-13) [i386-linux]
あ>   [:pid, 5500]
あ>   -e:1:in `sleep': Child_changed: 5500 (RuntimeError)
あ> 	  from -e:1
あ> 	  from -e:1:in `loop'
あ> 	  from -e:1

少々例が悪かったですね. 

  $ cat test.sh
  #!/bin/sh
  sleep 3
  $ ruby -rpty -ve 'Thread.new{begin; PTY.spawn("./test.sh"){|r,w,pid| p [:pid,pid]; sleep}; rescue RuntimeError; p $!; end}; loop{sleep 1}'
  ruby 1.6.5 (2001-11-13) [i386-linux]
  [:pid, 7369]
  -e:1:in `sleep': Child_changed: 7369 (RuntimeError)
	  from -e:1
	  from -e:1:in `loop'
	  from -e:1

こういう感じなんです. ただしgotokenさんから
FreeBSDでは再現しないよという情報をいただいてもいます. 

-- 
 やまだ あきら <URL:http://arika.org/>
 (akira / arika.org, akira / ruby-lang.org or akira / linux.or.jp)