我想使用Java代码获取包含所有正在运行的进程的列表?你能告诉我从哪个档案中我可以获得这些信息吗?我想从/ proc filesystem获取他的数据。
答案 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相关的代码方面付出一些努力,而且这个区域太宽泛,无法在此详细介绍,但具体与此相关的问题将是很好的后续问题: - )
干杯,