From: Richard Kilmer Date: 2003-01-01T01:35:31+09:00 Subject: Re: [ANN] win32_popen 0.1 quick question on this library...how would one interrupt a running (popen'ed) process if it got hung up, etc? -rich On Tuesday, December 31, 2002, at 02:01 AM, Park Heesob wrote: > Hi, all. > > win32_popen is popen2,popen3,popen4 implementation on Windows adapted > from > Python source code. > > You can use win32_popen3 like this: > > require 'win32_popen' > > fin,fout,ferr = IO.win32_popen3("date") > puts fout.gets > fin.print "2002-01-01\n" > while !fout.eof > puts fout.gets > end > > fin,fout,ferr = IO.win32_popen3("irb") > > begin > a = fout.getc > putc a.chr > end while a != ?> > > fin.print "exit\n" > > while !fout.eof > puts fout.gets > end > > > You can download mswin binary for your Ruby version. > http://home.nownuri.net/~phasis/popen/win32_popen_1.6.8.zip > http://home.nownuri.net/~phasis/popen/win32_popen_1.8.0.zip > Souce code and binary included. > > [Requirement] > > * Ruby 1.6.5+ > > It may be made with other version but not verified. > > [Install binary] > >> ruby install.rb > > [Install from source] > >> ruby extconf.rb >> nmake >> ruby install.rb > > [methods] > > IO#win32_popen2(cmd[, mode]) > Executes cmd as a sub-process. Returns the file objects (child_stdin, > child_stdout). > > IO#win32_popen3(cmd[, mode]) > Executes cmd as a sub-process. Returns the file objects (child_stdin, > child_stdout, child_stderr). > > IO#win32_popen4(cmd[, mode]]) > Executes cmd as a sub-process. Returns the file objects (child_stdin, > child_stdout_and_stderr). > > Regards. > > Park Heesob > > > > >