如何编写java程序获取pid?
bapi
问问题
13308 次
3 回答
5
不是很直接,但显然没有“官方”的方式。
于 2009-04-15T07:45:41.093 回答
2
您可以使用 JMX 执行此操作,但请注意。以下不是官方支持的机制,可能会发生变化。但是,我过去使用过它并且效果很好。
RuntimeMXBean rmxb = ManagementFactory.getRuntimeMXBean();
System.err.println("pid: " + rmxb.getName());
将打印 {pid}@hostname
于 2009-04-15T08:13:30.933 回答
1
我不相信这是 Java 提供的东西。首先,它打破了独立于平台的性质。我可以看到两种接近它的方法,都假设您在 UNIX 类型的系统下运行。
- 提供一个将调用
getpid()
并返回它的 JNI。 - 使用 system 或 Runtime 方法之一来运行一个外部程序,该程序将调用
getppid()
以获取其父级(即 Java)的 PID,或者更糟糕的情况,沿着进程树向上走,直到找到 Java 本身。
于 2009-04-15T07:48:42.210 回答