繁体   English   中英

从Ruby中的进程ID获取进程状态和退出代码

[英]Getting process status and exit code from process id in ruby

我想在Ruby中创建s子Open3.popen3以运行和与其他程序进行交互,并且我需要使用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函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM