在Windows上用Ruby生成后台进程?

时间:2010-10-01 15:16:23

标签: ruby windows fork background-process

我基本上问的问题与Spawn a background process in Ruby相同,除了我需要在Windows环境中生成后台进程!不幸的是,我的研究表明Windows不支持Ruby分支(只有勺子。 Rimshot!)。

3 个答案:

答案 0 :(得分:13)

win32-process库是Win32Utils套件的一部分,可能就是你所追求的。

http://win32utils.rubyforge.org/

  

win32-process库为MS Windows添加了Process.create和Process.fork方法。另外,它提供了wait,wait2,waitpid和waitpid2方法的不同实现。   Process.create方法允许您使用各种不同的配置选项创建本机MS Windows进程。

     

Process.fork实现应该被认为是实验性的,不能在生产代码中使用。

     

安装:gem install win32-process

答案 1 :(得分:5)

查尔斯的答案很棒。我还发现我可以利用Windows的start来执行dir命令:

system('start dir')

这会产生一个cmd窗口以及该过程,这在某些情况下是不可取的。但是,如果这是可以容忍的,那么您不需要win32-process依赖:)

答案 2 :(得分:3)

1.9.x的Process.spawn似乎运作良好,请参阅http://en.wikibooks.org/wiki/Ruby_Programming/Running_Multiple_Processes的最后一部分