gpt4 book ai didi

没有弹出命令提示符的 Ruby 系统调用(在 Windows 上)

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:27 25 4
gpt4 key购买 nike

我正在尝试从使用 ruby​​w.exe (1.8.7) 执行的 ruby​​ 脚本中整理一个使用多个系统调用的进程。

据我所知,rubyw.exe 的主要原因是它不会弹出命令提示符来分散用户的注意力。然而,该进程中的系统调用似乎仍然会生成这些弹出窗口,这让该进程脚本的用户非常分心。

有人知道怎么做吗?

SO 上有很多与此类似的问题,但没有一个能完全回答这个问题,如果我使用的是 python,这个问题/答案会有所帮助(http://code.activestate.com/lists/python-list/46042/),但到目前为止我的搜索还没有找到完成这个的方法用 ruby 。

更新:这里有这个线程Hiding curl Window on Windows这很接近,但那里唯一可行的解​​决方案也不允许您获得标准输出。

最佳答案

我最终选择了 win32-open3 gem。因为 fork 没有在 Windows 系统上实现,所以你不能使用内置的 open3,你需要做一个

gem install win32-open3

然而,这带有可以传递给调用方法的标志,特别是

There are a couple of differences in the Windows version for open3 (which also apply to Open4.popen4) - the mode flag and the show flag. For the mode, you can specify either 't' (text, the default) or 'b' (binary) as a second argument. For the show flag, you can specify either true or false, which will show the console window, or not, depending on the value you pass. The default is false.

此特定脚本的用户不再受到不断窃取焦点的 15 个 cmd 窗口的轰炸,所以......赢了吗?

关于没有弹出命令提示符的 Ruby 系统调用(在 Windows 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12684463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com