我希望获得有关我的操作系统中其他正在运行的进程的信息。 (两个方面,流程'名称'和'路径'。)
现在,我正在使用linux命令,如" ps命令"。
Process process = Runtime.getRuntime().exec("ps x")
但是因为我也希望在Windows中运行它,我搜索其他功能可以在windows和linux中运行。
有没有任何java类或函数没有os依赖?
答案 0 :(得分:1)
如果您愿意提前升级,Java 9到JEP 102中更新的Process API将对您有所帮助...这提供了对进程树的平台无关的访问...
请参阅ProcessHandle.allProcesses()
实施例
ProcessHandle.allProcesses().forEach(processHandle ->
System.out.println("PID: " + processHandle.getPid() +
", command: " + processHandle.info().command().orElse("Unknown")));