Использование fork в Windows с Ruby - PullRequest
10 голосов
/ 14 мая 2011

Когда я звоню Kernel.fork() в Windows, я получаю эту ошибку:

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

Есть ли альтернативный способ разветвления в Windows?

Ответы [ 5 ]

6 голосов
/ 13 июня 2012

Попробуйте spawn() - это реализовано для Windows.

4 голосов
/ 14 мая 2011

Хотя ОС Windows не поддерживает fork, win32-process gem поддерживает замену. Очевидно, что есть некоторые отличия от версии для Unix, см. Этот вопрос: fork с Ruby 1.8 и Windows

2 голосов
/ 14 мая 2011

Обычный способ получить точную эмуляцию форка в Windows - установить Cygwin и запустить с его библиотекой.В этом случае вам потребуется установить второй Ruby, на этот раз из пакета Cygwin.

0 голосов
/ 28 ноября 2017

В Windows 10 есть функция Windows Subsystem for Linux, которую вы можете установить.

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

Это позволит вам использовать одно из приложений Unix Distro в магазине Windows для установки оболочки bash.Затем вы можете запустить свое приложение в среде Linux, эффективно включив Fork ()

0 голосов
/ 27 февраля 2013

Как упоминалось в 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...