我想获取有关我的操作系统中其他正在运行的进程的信息。
(两件事,处理“名称”和“路径”。)

现在,我正在使用像“ps命令”之类的linux命令。

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

但是因为我也想在Windows中运行它,所以我在搜索其他功能可以在Windows和Linux中使用。

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

最佳答案

如果您愿意尽早升级,则通过JEP 102在Java 9中更新的Process API将为您提供帮助...这提供了平台不可访问的对过程树的访问权限...

参见ProcessHandle.allProcesses()

例子

ProcessHandle.allProcesses().forEach(processHandle ->
    System.out.println("PID: " + processHandle.getPid() +
    ", command: " + processHandle.info().command().orElse("Unknown")));

10-01 11:50