想象一下:两个 java 项目在 JDK1.5 和 JDK1.6 上运行
其中两个是在 JDK 1.7 上工作的。
如何获取正在运行的jvm名称、pid和项目名称就可以了。
结果应该是这样的:
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? https://stackoverflow.com/questions/17684065/is-there-a-java-library-that-searches-for-jvms-on-the-current-machine是在当前机器中查找未运行的JDK。这对我的问题没有帮助。有任何想法吗?
您正在寻找这个 API:http://docs.oracle.com/javase/7/docs/jdk/api/attach/spec/ http://docs.oracle.com/javase/7/docs/jdk/api/attach/spec/
您必须将tools.jar 添加到您的类路径中。
这是开始的方法:VirtualMachine.list() http://docs.oracle.com/javase/7/docs/jdk/api/attach/spec/com/sun/tools/attach/VirtualMachine.html#list()
id() 是特定于提供者的,但它通常是一个进程 ID。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)