2011-05-13 66 views
10

当我打电话在Windows Kernel.fork(),我得到这个错误:叉红宝石

!! Unexpected error while processing request: fork() function is unimplemented on this machine 

有没有到餐桌,而在Windows上的另一种方式?

回答

2

在Windows上获得忠实的分支仿真的常用方法是安装Cygwin并使用其库运行。在这种情况下,您需要安装第二个Ruby,这次是从Cygwin包中安装。

6

尝试spawn() - 它实现了Windows。

+2

否,如果回答良好,则可能很短 – akostadinov 2015-11-03 18:25:44

0

正如DigitalRoss所提到的,CygwinPOSIX兼容,并有叉。

$ irb 
irb(main):001:0> Kernel.fork() 
=> 4512 
irb(main):002:0> => nil 
irb(main):002:0> quit 

$ uname -a 
CYGWIN_NT-5.1 dumbopc 1.7.17(0.262/5/3) 2012-10-19 14:39 i686 Cygwin 

$ ruby -v 
ruby 1.9.3p385 (2013-02-06 revision 39114) [i386-cygwin] 

您可能不得不使用Cygwin Ports镜像来查找Ruby包。

0

Windows 10具有可以安装的Linux Windows子系统功能。

https://msdn.microsoft.com/en-us/commandline/wsl/install-win10

这将允许您利用在Windows应用商店中的Unix发行版的应用程序之一安装的bash shell。然后,您可以在Linux环境中运行您的应用程序,从而有效地启用Fork()