【问题标题】:Getting process status and exit code from process id in ruby从 ruby​​ 中的进程 ID 获取进程状态和退出代码
【发布时间】:2013-01-14 00:06:24
【问题描述】:

我想在 Ruby 中创建 s 子进程来运行和与其他程序交互,我需要使用 Process.spawn,因为 Open3.popen3 在 Windows 中不起作用。 Open3.popen3 为您提供了一个不错的等待线程对象,它允许您通过 wait_thr.status 检查进程是否已完成,一旦完成,您就可以通过 wait_thr.value.exitstatus 获取它的退出代码。

Process.spawn 只给你pid,所以我需要一种从进程ID 中获取数据的方法。我查看了ProcessKernel 模块,但一无所获。 Process::Status 有我需要的一切,但我找不到任何关于如何从 pid 创建一个的信息。

我如何知道进程何时完成以及它的退出状态是什么?

【问题讨论】:

    标签: ruby process pid


    【解决方案1】:

    我相信你可以使用win32-api gem

    然后您可以使用 win32 API 中的GetExitCodeProcess 函数。

    【讨论】:

    • 我明白了……好吧,如果我需要添加一个需求,我还不如为 Windows 找到一个 Open3 实现。我还在 Windows 上尝试了Process.spawn,但它不起作用......但无论如何谢谢!
    • 也许可以试试here提供的内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多