加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

使用Cygwin从Windows运行fork(2).可能?

发布时间:2020-12-13 20:35:20 所属栏目:Windows 来源:网络整理
导读:我正在尝试使用一个名为shotgun的Ruby gem,它需要fork(2)命令,我发现它是一个Linux命令,并且可能在Cygwin中可用.是否可以通过Windows命令shell使其可用? fork(2)在Cygwin下是kludgey,因为Windows进程模型不容易让它发生. Cygwin可能允许它的产生使用它,但是
我正在尝试使用一个名为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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读