我需要找到Linux平台上当前正在运行的进程的PID(它可以是与系统有关的解决方案)。Java不支持获取进程ID,并且JRuby当前在Ruby方法Process.pid中存在一个错误。
还有另一种获取PID的方法吗?
如果安装了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