我正在尝试使用一个名为shotgun的Ruby gem,它需要fork(2)命令,我发现它是一个Linux命令,并且可能在Cygwin中可用.是否可以通过Windows命令shell使其可用?
fork(2)在Cygwin下是kludgey,因为Windows进程模型不容易让它发生. Cygwin可能允许它的产生使用它,但是你将遭受严重的性能损失,因为Cygwin必须手动模拟所有东西 – 包括复制可执行数据,复制打开的句柄等.
根据霰弹枪使用前叉(2)的数量,这种模拟可能会很痛苦,也可能相对较小.
这是一个good thread on GameDev.net,讨论Win32上缺少fork工具.他们提出了一些我没有耐心或平台可访问性来调查的东西,但同时听起来既有趣又危险且具有爆炸性:
So,you need to bypass Win32 and call the native API ({Nt|Zw}CreateProcess). The book “Windows Nt/2000 Native Api Reference” has an example “Forking a Win32 Process”. This may be what you need.
我很好奇,但我怀疑Cygwin是否使用它.它可能在那里,重申我对你的问题的回答 – 许多Unix应用依赖于fork,而Cygwin可能使它可用.只是不要指望奇迹,你必须通过重新编译包含其仿真层让Ruby知道Cygwin.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。