vla*_*ien 4 java jmx java-api jdk-tools
我需要以编程方式重新创建jps工具的功能.我需要找出所有Java运行进程及其id,以便我可以附加到该进程(类似于JConsole所做的).
我认为VirtualMachine API会有所帮助,但是当我运行以下内容时没有得到预期的结果
public class ProcessList {
public static void main(String[] args){
List<VirtualMachineDescriptor> vms = VirtualMachine.list();
for(VirtualMachineDescriptor vm : vms){
System.out.println (vm.id());
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,它只返回一个ID,但是当我在同一台机器上运行jps时,我会看到其他几个进程.
jps使用内部类 - MonitoredHostOracle/Sun JRE.该activeVMs()方法用于获取主机上所有活动VM的列表.您可以参考sun.tools.jps.JpsOpenJDK类的来源,了解该jps工具如何工作.
| 归档时间: |
|
| 查看次数: |
2965 次 |
| 最近记录: |