如何在当前机器上运行jvm [英] how to get running jvms in current machine
问题描述
想象一下:两个Java项目正在JDK1.5和JDK1.6上运行 有两个在JDK 1.7上进行. 如何获取正在运行的jvm名称,pid和项目名称就可以了.
Imagine that: Two java projects are work on JDK1.5 and JDK1.6 Two are work on JDK 1.7. How to get the running jvm names, pids and projects name works on it.
结果应该看起来像:
pid 1234,projec_tname prj1,java_version JDK1.6
pid 1234, projec_tname prj1, java_version JDK1.6
pid 4354,projec_tname prj2,java_version JDK1.5
pid 4354, projec_tname prj2, java_version JDK1.5
pid 6234,projec_tname prj3,java_version JDK1.7
pid 6234, projec_tname prj3, java_version JDK1.7
pid 9034,projec_tname prj4,java_version JDK1.7
pid 9034, projec_tname prj4, java_version JDK1.7
中的解决方案在当前计算机上搜索Java的Java库?是在当前计算机上未运行的JDK中找到的.我的问题无济于事.有什么想法吗?
Solution in Is there a Java library that searches for JVMs on the current machine? is find JDKs in current machine which not running. It is not helped for my question. Any ideas?
推荐答案
You are looking for this API: http://docs.oracle.com/javase/7/docs/jdk/api/attach/spec/
您必须将tools.jar添加到您的类路径中.
You have to add the tools.jar to your classpath.
This is the method to start with: VirtualMachine.list()
id()是特定于提供程序的,但通常是进程ID.
The id()s are provider specific but it’s usually a process id.
这篇关于如何在当前机器上运行jvm的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!