如何利用Java获取进程的信息

2024-10-22 15:11:52
推荐回答(2个)
回答1:

直接获取不行哈,想都别想。我建议你看看操作系统内核api很容易获取到。一般都c语言或c++语言写的.非得用java实现,告诉你个办法。看一下java如何访问c/c++写的程序,但是是否有权限不知道了。你可以参考java高级编程第二卷里面有说方法。
最好的方式,用操作系统api写个服务,用java做本地网络请求调用,再把你采集出来的数据,提取出来做处理就完了。要访问进程信息,用系统api也会有安全性考虑,但是完全可控的。把目标进程当服务进程的子进程启动,设置适合的权限,服务进程就能读取到子进程的信息。

回答2:

获取系统进程列表

proc = Runtime.getRuntime().exec("tasklist");
BufferedReader br = new BufferedReader(new InputStreamReader(proc
.getInputStream()));
String info = br.readLine(); while (info != null) {
System.out.println(info); if (info.indexOf(exeName) >= 0) { return true;
}
info = br.readLine();
}