Когда я звоню Kernel.fork() в Windows, я получаю эту ошибку:
Kernel.fork()
!! Unexpected error while processing request: fork() function is unimplemented on this machine
Есть ли альтернативный способ разветвления в Windows?
Попробуйте spawn() - это реализовано для Windows.
spawn()
Хотя ОС Windows не поддерживает fork, win32-process gem поддерживает замену. Очевидно, что есть некоторые отличия от версии для Unix, см. Этот вопрос: fork с Ruby 1.8 и Windows
Обычный способ получить точную эмуляцию форка в Windows - установить Cygwin и запустить с его библиотекой.В этом случае вам потребуется установить второй Ruby, на этот раз из пакета Cygwin.
В Windows 10 есть функция Windows Subsystem for Linux, которую вы можете установить.
https://msdn.microsoft.com/en-us/commandline/wsl/install-win10
Это позволит вам использовать одно из приложений Unix Distro в магазине Windows для установки оболочки bash.Затем вы можете запустить свое приложение в среде Linux, эффективно включив Fork ()
Как упоминалось в DigitalRoss, Cygwin соответствует POSIX и имеет форк.
$ 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 зеркало, чтобы найти пакет Ruby.