微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Windows上使用Ruby的popen3或等效

我正在制作一个使用Open3.popen3运行shell命令的Vim插件,我需要结果和退出代码。 它在Linux上正常工作,但在Windows上冻结。 我已经在Windows下检查Open3.popen3 ,每当我运行Open3.popen3或Process.spawn ,shell都会冻结。 我试过安装win32-open3-19 gem(并且加载了require 'win32/open3 ) – 但它仍然冻结。

有没有其他方法或gem我可以使用? 我更喜欢一些尽可能靠近Open3 (所以我的Linux和Windows版本可以尽可能地分享代码)。

我正在运行在Windows 7 64位上通过RubyInstaller安装的Ruby 1.9.3。

更多细节

32位程序在64位操作系统上运行相对较慢,而不是在32位操作系统上本地运行

Windows 7 / Vista进程pipe理 – 如何在长时间空闲时间后启动外部程序?

read()系统调用会执行数据的副本,而不是传递引用

Cygwin 64位C编译器caching搞笑(并提早结束)

Windows上GHC的64位基础库的dynamic版本

这是我想运行的确切代码: https : //github.com/someboddy/vim-erroneous/blob/master/autoload/erroneous.rb#L43

它在Linux上工作,但在Windows上冻结。

在我的Windows上,我打开pry然后写:

require 'win32/open3' inp,out,err,wait_thr=Open3.popen3('cmd')

而我的壳冻结。 当我在Linux上尝试它时(使用'bash'而不是'cmd'),它工作得很好。 我也尝试过'dir'(它不应该等待用户input),它也冻结了。

用C代码在Minix系统上运行的进程数

为什么sigaction说键盘快捷键发出的信号来自PID 0?

visual studio 2010 express + win sdk =无法打开input文件'kernel32.lib'

subprocess:在Windows中删除subprocess

计数Windows中特定进程的上下文切换

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐