我正在尝试使用一个名为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.

使用Cygwin从Windows运行fork(2).可能?的更多相关文章

  1. android – Ndk-cygwin路径具体问题

    可笑的windowsxp,cygwin&ndk为我的项目.我映射了cygwin.batch文件中的所有路径.我正在尝试通过cygwin编译hello-jni.cygwin.bat的内容@echo关闭在执行命令./ndk-build时,我收到了错误…解决方法父文件夹应为“jni”,然后在Android.mk中

  2. android – 如何用cordova设置微调器的位置

    我在config.xml中有这个旋转器工作得很好,但我需要将位置从中心改为中心10%垂直这有什么办法吗?

  3. 剖析Fork join并发框架工作窃取算法

    这篇文章主要为大家剖析介绍了Fork join并发框架工作窃取算法的示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. 如何使用cygwin / mingw在Windows上编译PHP扩展?

    我正在尝试使用Cygwin在Windows上构建RabbitMQPHPwrapper和AMPQPHPwrapper.我已经成功构建了底层的C库,但我陷入了’PHPize’步骤:PHPize&&./configure–with-rabbit&&制造&&sudomakeinstall如果我理解正确,Windows上没有’PHPize’,那么如何构建我的PHP包装器?

  5. windows – 在perl中的fork实现

    我想在perl中执行子进程.我还希望我的代码与平台无关.问题是在Windows中perl实现fork,是一个伪进程,实际上是一个线程.请参阅windowshere的perlfork仿真.它还提到了在伪进程上执行kill和exec命令时出现的问题.在不同平台上使用两个不同版本的fork是否安全,还是应该使用特定于操作系统的API?

  6. dll – 用Cygwin编译独立的exe

    我想用cygwin制作一个独立的exe.我有两个选择:>静态链接cygwin1.dll如果我可以静态链接cygwin1.dll,那么我可以得到一个独立的exe.>将cygwin1.dll与myprog.exe合并如果我可以将cygwin1.dll与我的程序合并,我可以得到一个独立的exe.不建议我使用IlMerge.这不起作用,因为我没有用.NET编译我的程序.这些选项有可能吗?

  7. Windows上的Git提交(Cygwin)已损坏.

    我在Windows7上安装了一个Cygwin.Git工作很好,直到几天前提交刚刚停止工作.这是一个全新的回购日志:我谷歌把它搞糟了无济于事.这里发生了什么?问题说回购工作正在进行,但他们神秘地破裂了.该错误似乎表明内部git树对象的文件系统读取问题.查看/cygdrive/u,表示这可能是映射的网络驱动器.尝试在本地驱动器上运行git以确认网络共享是否正常工作.不幸的是,我没有任何确切的信息会导致失败.您的网络共享可能不支持git期望可用的文件系统功能.

  8. windows – cygwin curl,Wget,wget和top“命令未找到”

    我很确定我已经安装了包含“net”软件包的cygwin默认软件包,但是每次我尝试运行wget和top时,控制台都会说“命令未找到”.这些命令是单独的吗?你添加了环境变量吗?

  9. 在Windows上处理Perl中的unicode目录和文件名

    我有Perl和Windows的编码问题.在运行Perl的Windows7(草莓5.16)和简单的TKGUI上,我需要打开文件和/或访问名称/路径中包含非英文字符的目录.对于打开文件我已经提出这个解决方案似乎工作正常:这会正确打开Поиск/Поиск.txt等文件我不能做的只是获取目录路径而不是处理它.我想我应该使用Win32::Unicode::Dir,但我真的无法理解文档.它应该是这样的:在以

  10. 在windows下运行linux gcc编译的程序

    好的,伙计们,希望这是一个非常简单的问题:有没有办法在Windows操作系统上使用gcc运行在linux下编译的C程序?请不要告诉我在windows下重新编译它,因为我已经尝试但看起来没有cwindows编译器有128位原生类型,并且使用bignum库使我的程序比10到100倍慢.有没有办法在Windows下实际运行linux二进制文件?有人告诉我一些关于cygwin的事情,但我不知道从哪里开始..非常感谢你!!

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部