如何在java中运行进程信息?

时间:2017-04-29 11:25:20

标签: java linux windows process environment

我希望获得有关我的操作系统中其他正在运行的进程的信息。 (两个方面,流程'名称'和'路径'。)

现在,我正在使用linux命令,如" ps命令"。

Process process = Runtime.getRuntime().exec("ps x")

但是因为我也希望在Windows中运行它,我搜索其他功能可以在windows和linux中运行。

有没有任何java类或函数没有os依赖?

1 个答案:

答案 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")));