我基本上问了与Spawn a background process in Ruby相同的问题,除了我需要在 Windows 环境中生成一个后台进程!不幸的是,我的研究表明 Windows 不支持 Ruby 分叉(只有勺子。Rimshot!)。
问问题
8256 次
3 回答
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
于 2010-10-01T15:23:02.630 回答
6
查尔斯的回答很棒。我还发现我可以利用 Windows 的start
,例如执行dir
命令:
system('start dir')
这会随进程生成一个 cmd 窗口,这在某些情况下是不可取的。但是,如果这是可以容忍的,那么您不需要 win32-process 依赖项:)
于 2010-10-01T15:40:13.070 回答
3
1.9.x 的 Process.spawn 似乎运行良好,请参阅http://en.wikibooks.org/wiki/Ruby_Programming/Running_Multiple_Processes的最后一部分
于 2012-04-17T20:12:40.280 回答