From: Robert Klemme Date: 2004-10-23T18:59:13+09:00 Subject: Re: [Q] Problem with popen on WIn32 (1.8.x) "Laurent Julliard" schrieb im Newsbeitrag news:4179F49D.6010109@moldus.org... > Robert Klemme wrote: >> >> "Laurent Julliard" schrieb im Newsbeitrag >> news:417979EB.7090107@moldus.org... >> >>> Can anybody tell me why the following Ruby code that uses popen doesn't >>> work at all on my Windows XP (Pro SP1) machine, ruby 1.8.2 preview2 or >>> 1.8.1? >>> >>> you.rb >>> ------ >>> while true >>> sleep 1 >>> puts "This line should print in me.rb" >>> end >>> >>> me.rb >>> ----- >>> pig = IO.popen("ruby.exe you.rb", "w+") >>> >>> while true >>> pig.gets >>> end >>> >>> Launch me.rb and you'll see that no output is showing at all. On Linux >>> it works like a charm. >>> >>> If you succeed in making this work can you tell me which version of Ruby >>> and Windows you are using? >>> >>> Thanks for all your help >> >> >> :-))) You forgot the "puts" in me.rb. For me, this works: >> >> you.rb >> >> while true >> sleep 1 >> puts "This line should print in me.rb" >> end >> >> >> me.rb >> >> pig = IO.popen("ruby.exe you.rb", "w+") >> >> while true >> puts pig.gets >> end >> > > I forgot the puts while copy-pasting the code but even with the puts it > doesn't make any difference. How long did you wait to see any output? With "sleep 1" it takes considerable time until the pipe is full and the first chunk of messages appear - on my machine it's just above 30 seconds. > It still doesn't work on 1.8.2 preview 2/XP. Which version on Ruby/Windows > are you using? Robert@Babelfish2 ~ $ uname -a CYGWIN_NT-5.1 Babelfish2 1.5.10(0.116/4/2) 2004-05-25 22:07 i686 unknown unknown Cygwin Robert@Babelfish2 ~ $ ruby -v ruby 1.8.1 (2003-12-25) [i386-cygwin] Robert@Babelfish2 ~ $ cmd /c ver Microsoft Windows XP [Version 5.1.2600] (SP2 installed) Kind regards robert