在Ruby中获取系统调用的PID

在Ruby中获取系统调用的PID,ruby,Ruby,所以基本上我要做的是用ruby进行系统调用,找出新流程的PID。我试图通过我的系统调用执行另一个程序,但是正在执行的程序永远不会完成,所以我需要使用pid最终杀死它 我一直不知道该怎么做。到目前为止,我已经研究过system(),如果程序成功执行,它将返回true/false,这是没有用的。我已经尝试过fork,但也不起作用,因为它返回fork的PID而不是系统调用 非常感谢您的帮助 很抱歉,如果在我找不到该问题之前询问过该问题。您无法获取系统调用的PID。您可以获得Ruby父进程的PID,然后

所以基本上我要做的是用ruby进行系统调用,找出新流程的PID。我试图通过我的系统调用执行另一个程序,但是正在执行的程序永远不会完成,所以我需要使用pid最终杀死它

我一直不知道该怎么做。到目前为止,我已经研究过system(),如果程序成功执行,它将返回true/false,这是没有用的。我已经尝试过fork,但也不起作用,因为它返回fork的PID而不是系统调用

非常感谢您的帮助


很抱歉,如果在我找不到该问题之前询问过该问题。

您无法获取系统调用的PID。您可以获得Ruby父进程的PID,然后查找该进程的子进程,并以这种方式找到它。这很方便

但是,最简单的方法是进程本身报告其PID(例如,通过将其写入预定的文件)。

如果使用,您将生成一个进程并获取其PID,而无需等待它完成


了解更多信息,了解资源限制,这可能是实现目标的另一种方式。

好电话,忘了这一点。哦,这是一个比我更好的答案。