2

我想在 Ruby 中创建 s 子进程来运行和与其他程序交互,我需要使用Process.spawn,因为Open3.popen3在 Windows 中不起作用。Open3.popen3为您提供了一个不错的等待线程对象,它允许您检查进程是否已通过 完成wait_thr.status,一旦完成,您就可以通过wait_thr.value.exitstatus.

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

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

4

1 回答 1

1

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

然后,您可以使用 win32 API 中的GetExitCodeProcess函数。

于 2013-01-14T05:17:55.807 回答