一尘不染

如何在Java或Linux上的JRuby中找到我的PID?

linux

我需要找到Linux平台上当前正在运行的进程的PID(它可以是与系统有关的解决方案)。Java不支持获取进程ID,并且JRuby当前在Ruby方法Process.pid中存在一个错误。

还有另一种获取PID的方法吗?


阅读 279

收藏
2020-06-03

共1个答案

一尘不染

如果安装了procfs,则可以通过/ proc /
self符号链接找到进程ID,该链接指向一个名为pid的目录(这里还有文件以及其他相关信息,包括PID,但该目录为在这种情况下,您需要)。

因此,使用Java,您可以执行以下操作:

String pid = new File("/proc/self").getCanonicalFile().getName();

在JRuby中,您可以使用相同的解决方案:

pid = java.io.File.new("/proc/self").canonical_file.name
2020-06-03