我想在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创建一个信息的信息。
如何判断流程何时完成以及退出状态是什么?