我基本上要求在Ruby中产生一个后台进程相同的问题,除了我需要在Windows环境中产生一个后台进程! 不幸的是,我的研究显示Windows不支持Ruby分支(只有勺子, Rimshot! )。
win32-进程库是Win32Utils套件的一部分,可能就是你所追求的。
http://win32utils.rubyforge.org/
win32进程库为MS Windows添加了Process.create和Process.fork方法。 另外,它还提供了wait,wait2,waitpid和waitpid2方法的不同实现。 Process.create方法允许您使用各种不同的配置选项来创建本机MS Windows进程。
Process.fork实现应该被认为是实验性的,而不是在生产代码中使用。
安装:gem install win32-process
查尔斯的回答很好。 我也发现,我可以利用Windows的start
,例如执行dir
命令:
system('start dir')
这随着进程产生一个cmd窗口,这在某些情况下是不可取的。 但是,如果这是可以忍受的,那么你不需要win32进程的依赖:)
1.9.x的Process.spawn似乎工作正常,请参阅http://en.wikibooks.org/wiki/Ruby_Programming/Running_Multiple_Processes的最后一节