【问题标题】:How to get list of running processes with Java如何使用 Java 获取正在运行的进程列表
【发布时间】:2013-12-09 14:08:03
【问题描述】:

我想获取所有使用 Java 代码正在运行的进程的列表?你能告诉我我可以从哪个文件中得到这些信息吗?我想从 /proc 文件系统中获取他的数据。

【问题讨论】:

  • 你是说windows/linux进程吗?

标签: java linux


【解决方案1】:

只需解析运行Process p = Runtime.getRuntime().exec("ps -e");得到的输入

我假设你使用的是 linux,因为你已经用 linux 标记了这个问题。

顺便说一下这个是相关的:How to get a list of current open windows/process with Java?

【讨论】:

    【解决方案2】:

    对于 Linux,

    Process process = Runtime.getRuntime().exec("ps -e");
    BufferedReader processReader =  new BufferedReader(new InputStreamReader(process.getInputStream()));
    // Read from BufferedReader
    

    从窗口

     Process process = Runtime.getRuntime().exec (System.getenv("windir") +"\\system32\\"+"tasklist.exe");
        BufferedReader processReader =  new BufferedReader(new InputStreamReader(process.getInputStream()));
        // Read from BufferedReader
    

    【讨论】:

    • 注意:他用linux标记了它。
    • 我想从 /proc 获取他的数据。
    【解决方案3】:

    /proc 中以数字命名的文件夹包含有关系统进程的信息。

    将这些内容转换为人类可读的格式需要在目录遍历、阅读与/proc FS 相关的文档和代码方面付出一些努力,而且范围太广,无法在此处详细介绍,但具体问题相关这将是很好的后续问题:-)

    干杯,

    【讨论】:

    • 是的。如何获取这些数据并将其格式化为人类可读的格式?
    猜你喜欢
    • 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
    相关资源
    最近更新 更多