如何在当前机器上运行jvms

想象一下:两个Java项目可以在JDK1.5和JDK1.6上运行。两个可以在JDK 1.7上运行。 如何获取正在运行的jvm名称,pids和项目名称。

结果应该看起来像:

pid 1234,projec_tname prj1,java_version JDK1.6

pid 4354,projec_tname prj2,java_version JDK1.5

pid 6234,projec_tname prj3,java_version JDK1.7

pid 9034,projec_tname prj4,java_version JDK1.7

解决方案是否有一个Java库在当前机器上搜索JVM? 是在当前机器中找不到运行的JDK。 我的问题没有帮助。 有任何想法吗?

您正在寻找此API: http : //docs.oracle.com/javase/7/docs/jdk/api/attach/spec/

您必须将tools.jar添加到类路径中。

这是开始的方法: VirtualMachine.list()

id()是特定于提供者的,但它通常是进程ID。