【发布时间】: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 中获取数据的方法。我查看了Process 和Kernel 模块,但一无所获。 Process::Status 有我需要的一切,但我找不到任何关于如何从 pid 创建一个的信息。
我如何知道进程何时完成以及它的退出状态是什么?
【问题讨论】: