SIGAR 或 OSHI 或任何其他类似的 API 是否提供开箱即用且最重要的是通用功能来提取操作系统进程信息?
我的要求是获取特定程序(例如 Chrome)的所有操作系统进程的 PID 和其他一些详细信息。
如下所示,我编写了自己的实现,但我必须为 Unix、Mac、Solaris 等想出一些不同的方法。如下是特定于 Windows 的。只是为了保持通用性,我想知道 SGIAR / OSHI 中是否有任何 OOTB 方法。
public static List<String> getNodeDetailsFromWinOs(){
List<String> nodeList = new ArrayList<String>();
String process;
Process p = Runtime.getRuntime().exec("tasklist.exe /nh");
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((process = input.readLine()) != null)
{
nodeList.add(process.substring(10, process.indexOf(".")));
}
input.close();
return nodeList;
}