如何编写java程序获取pid

时间:2009-04-15 07:33:53

标签: java process pid

如何编写java程序获取pid?

3 个答案:

答案 0 :(得分:5)

How a Java Application Can Discover its Process ID (PID)

不是很直白,但显然没有“官方”的方式。

答案 1 :(得分:2)

您可以使用JMX执行此操作,但要注意。以下不是官方支持的机制,可能会改变。但是,我过去曾经使用过它并且工作正常。

RuntimeMXBean rmxb = ManagementFactory.getRuntimeMXBean();
System.err.println("pid: " + rmxb.getName());

将打印{pid} @hostname

答案 2 :(得分:1)

我不相信这是Java提供的东西。首先,它打破了与平台无关的特性。我可以看到两种方法来处理它,假设你在UNIX类型的系统下运行。

  • 提供一个JNI,它将调用getpid()并将其返回。
  • 使用系统或其中一个Runtime方法运行外部程序,该程序将调用getppid()以获取其父级的PID(即Java),或者更糟糕的情况下,沿着进程树向上走,直到找到Java本身。