Создайте фоновый процесс в Ruby на Windows? - PullRequest
11 голосов
/ 01 октября 2010

Я в основном задаю тот же вопрос, что и Создание фонового процесса в Ruby , за исключением того, что мне нужно запустить фоновый процесс в среде Windows! К сожалению, мое исследование показало, что Windows не поддерживает вилки Ruby (только ложки. Rimshot! ).

Ответы [ 3 ]

13 голосов
/ 01 октября 2010

Вероятно, вам нужна библиотека win32-process, входящая в комплект Win32Utils.

http://win32utils.rubyforge.org/

Библиотека win32-process добавляет Process.методы create и Process.fork для MS Windows.Кроме того, он предоставляет различные реализации методов wait, wait2, waitpid и waitpid2.Метод Process.create позволяет создавать собственные процессы MS Windows, используя различные параметры конфигурации.

Реализация Process.fork должна рассматриваться как экспериментальная и не использоваться в рабочем коде.

Установка: gem install win32-process

5 голосов
/ 01 октября 2010

Ответ Чарльза великолепен. Я также обнаружил, что могу использовать Windows start, например, для выполнения команды dir как таковой:

system('start dir')

Это порождает окно cmd вместе с процессом, что нежелательно в некоторых обстоятельствах. Однако, если это допустимо, вам не нужна зависимость win32-process:)

3 голосов
/ 18 апреля 2012

1.9.x Process.spawn, кажется, работает хорошо, см. Последний раздел http://en.wikibooks.org/wiki/Ruby_Programming/Running_Multiple_Processes

...