[Ruby] popen4 on win32

Vitaly Ostanin vyt на vzljot.ru
Чт Мар 30 15:46:18 MSD 2006


Здравствуйте.

Подскажите, пожалуйста, работающую реализацию popen4 для win32, в
которой можно получить exit status.

Пока попробовал 2 варианта, оба не работают.

С помощью win32utils:

require 'win32/open3'
require 'win32/process'
in, out, err, pid = Open4.popen4('dir')
ignored, status = Process.waitpid2(pid)

На этом месте зависание. Флаг Process::WNOHANG вообще доступен
под виндой? Хотя в win32utils он всё равно не учитывается.

С помощью open4.rb от Jonathan Paisley
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/133720
добавив туда "require 'win32/process'" - тоже не определена
Process::WNOHANG. После замены её на '-1' получил LoadError.

Ruby 1.8.4, собранный из исходников Visual C 7.1.

Под линукс отлично работает
http://rubyforge.org/frs/download.php/8595/open4-0.2.0.tgz

Неужели нет работающего аналога под win32 ?

-- 
Regards, Vyt
mailto:  vyt на vzljot.ru
JID:     vyt на vzljot.ru



Подробная информация о списке рассылки Ruby