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

Dav*_*ers 11 ruby windows fork background-process

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

Cha*_*per 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


Dav*_*ers 5

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

system('start dir')
Run Code Online (Sandbox Code Playgroud)

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