我正在尝试使用一个名为Shotgun的Ruby gem,它需要fork(2)命令,而我发现这是一个Linux命令,可能在Cygwin中可用。是否可以通过Windows命令 shell 使它可用?
最佳答案
在Windows进程模型下,fork(2)
很难在Cygwin下实现。 Cygwin可能允许其生成使用它,但是由于Cygwin必须手动模拟所有内容,包括复制可执行数据,复制打开的句柄等,因此您将遭受严重的性能损失。
根据shot弹枪使用fork(2)
的多少,此模拟可能很痛苦,或者可能相对较小。
这是一个good thread on GameDev.net,讨论Win32上缺少fork
工具。他们提出了一些我没有耐心或平台可访问性的内容,但同时听起来很有趣,危险且具有爆炸性:
我很感兴趣,但是我怀疑Cygwin使用它。重申我对您的问题的答案可能就在这里-许多Unix应用程序都依赖fork
,而Cygwin可能会使其可用。只是不要指望奇迹,您必须通过重新编译Ruby来包含Cygwin使其包含仿真层,从而使Ruby意识到Cygwin。