【问题标题】:how to get running process information in java?如何在java中获取正在运行的进程信息?
【发布时间】:2017-04-29 11:25:19
【问题描述】:

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

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

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

但是因为我也想在 Windows 中运行它,所以我正在寻找其他可以在 Windows 和 linux 中运行的功能。

有没有什么java类或函数没有os依赖?

【问题讨论】:

    标签: java linux windows process environment


    【解决方案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")));
    

    【讨论】:

    • 非常感谢,不过好像还没有正常使用。 Java 8下有什么类似的东西可以用吗?或者,如果我在项目目录中插入 java 9 文件,是否可以将我的 java 文件配置为使用 java 9?我很抱歉英语不好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多