【发布时间】:2010-10-19 12:52:54
【问题描述】:
如何写java程序获取pid?
【问题讨论】:
-
这太模糊了。获取什么的 pid?
-
让您的问题更具体。否则 - 关闭++;
如何写java程序获取pid?
【问题讨论】:
How a Java Application Can Discover its Process ID (PID)
不是很直接,但显然没有“官方”的方式。
【讨论】:
您可以使用 JMX 执行此操作,但请注意。以下不是官方支持的机制,可能会发生变化。不过,我过去用过这个,效果很好。
RuntimeMXBean rmxb = ManagementFactory.getRuntimeMXBean();
System.err.println("pid: " + rmxb.getName());
将打印 {pid}@hostname
【讨论】:
我不相信这是 Java 提供的东西。首先,它打破了独立于平台的性质。我可以看到两种方法,都假设您在 UNIX 类型的系统下运行。
getpid() 并返回它。getppid() 来获取其父级(即Java)的PID,或者更糟的情况是,沿着进程树向上走,直到找到Java 本身。 【讨论】: