有没有人知道如何使用Java获取当前打开的窗口或本地机器的进程?
我要做的是:列出当前打开的任务,窗口或进程打开,就像在Windows Taskmanager中一样,但是使用多平台方法 - 如果可能的话只使用Java.
我需要以编程方式重新创建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时,我会看到其他几个进程.