我想在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创建一个的任何信息。
我如何知道进程何时完成以及它的退出状态是什么?
我相信你可以使用win32-api gem
你可以使用win32 API中的GetExitCodeProcess函数