从ruby中的进程id获取进程状态和退出代码



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

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

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

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

你可以使用win32 API中的GetExitCodeProcess函数

最新更新