如何解决使用Cygwin从Windows运行fork2可能?
fork(2)
由于Windows进程模型不容易让它发生,因此在Cygwin的帮助下很麻烦。Cygwin可能允许其生成使用它,但是由于Cygwin必须手动模拟所有内容,包括复制可执行数据,复制打开的句柄等,因此您将遭受严重的性能损失。
根据shot弹枪的使用量fork(2)
,此模拟可能很痛苦,也可能相对较小。
这是GameDev.net上的一个好话题,讨论了fork
Win32上缺少功能的问题。他们提出了一些我没有耐心或平台可访问性的内容,但同时听起来很有趣,危险且具有爆炸性:
因此,您需要绕过Win32并调用本机API({Nt | Zw} CreateProcess)。《 Windows Nt / 2000本机Api参考》一书中有一个示例“ Forking Win32 Process”。这可能就是您所需要的。
我很感兴趣,但是我怀疑Cygwin使用它。重申我对您的问题的回答可能就在这里-
许多Unix应用程序都依赖fork
,而Cygwin可能会使其可用。只是不要指望奇迹,您必须通过重新编译Ruby来包含它的仿真层,从而使Ruby意识到Cygwin。
解决方法
我正在尝试使用一个名为Shotgun的Ruby
gem,它需要fork(2)命令,而我发现这是一个Linux命令,可能在Cygwin中可用。是否可以通过Windows命令外壳使其可用?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。