在 Ruby 中获取进程 ID 的进程状态和退出代码

3
我想在Ruby中创建一个子进程来运行和与其他程序交互,我需要使用`Process.spawn`,因为`Open3.popen3`在Windows上不起作用。`Open3.popen3`提供了一个很好的等待线程对象,可以通过`wait_thr.status`检查进程是否已经完成,一旦完成,就可以通过`wait_thr.value.exitstatus`获取它的退出代码。
`Process.spawn`只给出了`pid`,所以我需要一种从进程ID获取该数据的方法。我查看了`Process`和`Kernel`模块,但没有找到任何有用的信息。`Process::Status`包含了我需要的所有信息,但我无法找到如何从pid创建它的任何信息。
我该如何判断进程何时完成以及它的退出状态是什么?
1个回答

1

我明白了...好吧,如果我需要添加一个要求,我最好为Windows找到一个Open3实现。我也尝试在Windows上使用Process.spawn,但它不起作用...无论如何还是谢谢! - Idan Arye
也许可以尝试这里提供的内容:https://dev59.com/FFbTa4cB1Zd3GeqP6wbo - Althaf Hameez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接