gpt4 book ai didi

ruby - 在执行用 OCRA 打包的 Ruby 可执行文件时如何处理控制台窗口的关闭?

转载 作者:可可西里 更新时间:2023-11-01 09:38:37 27 4
gpt4 key购买 nike

背景:
Ruby 脚本使用 OCRA 1.2 打包成可执行文件。

脚本结构如下:

begin
<some code that runs for a while>
ensure
<cleanup code>
end

问题:
当我在 Windows 上运行可执行文件时,它会打开一个控制台窗口,并照常运行。如果我按下 Ctrl-C,清理代码就会运行。但如果我关闭控制台窗口,清理代码就不会运行。

即使在这种情况下,是否仍然可以确保清理代码运行?


旁注:我有 Java 背景,第一次使用 Ruby。

最佳答案

有点。您需要后台处理,但不幸的是 (1) 在 Windows IO.popen 下不是很可靠。,(2) 即使是 Windows“start/B”命令也只是在(共享)控制台中运行代码。

所以...如果您真的需要这个,并且需要查看程序的输出,您将需要安装 Windows 服务。您可以将关键代码直接放入服务中,也可以将可执行文件的名称传递给它 & 瞧!它会在后台运行。

因此用户将不得不付出一些真正的努力来终止应用程序,如果您需要程序的输出到控制台,您可以让服务返回必要的文本。

如果您不需要查看输出,您可以使用 ruby​​w.exe 运行应用程序并取消控制台。根据您的要求,您可能会让您的应用使用类似 start ruby​​w my_app.rb 的方式启动第二个 .rb 文件。

可能不是您想要的答案,但它应该有效。如果您真的、真的需要它。

关于ruby - 在执行用 OCRA 打包的 Ruby 可执行文件时如何处理控制台窗口的关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10201453/

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