如何使用Java获取正在运行的进程列表

时间:2013-12-09 14:08:04

标签: java linux

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

3 个答案:

答案 0 :(得分:8)

只需解析通过运行Process p = Runtime.getRuntime().exec("ps -e");

获得的输入

我假设你使用linux,因为你用linux标记了问题。

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

答案 1 :(得分:3)

对于Linux,

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

来自Windows

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

答案 2 :(得分:2)

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

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

干杯,