2 回答

TA贡献1812条经验 获得超5个赞
OSHI 的OSProcess
类为 Windows、macOS、Linux、AIX、Solaris 和 FreeBSD 提供了这种开箱即用的功能。
SystemInfo si = new SystemInfo();
OperatingSystem os = si.getOperatingSystem();
OSProcess[] procs = os.getProcesses(0, null);
for (OSProcess p : procs) {
if (p.getName().contains("Chrome")) {
// do stuff with p
}
}
您可能还会发现p.getParentProcessPid()和os.getChildProcesses(pid)方法可用于识别与父 Chrome 进程关联的其他进程(不包括名称“Chrome”)。
此外,从 Java 9 开始,核心 JDK 包含一个ProcessHandle类,其中包含一些基本信息,包括 PID。

TA贡献2021条经验 获得超8个赞
我之前找不到它,因为 SIGAR 文档无法公开获取。我通过这个链接找到了它们。这包含文档和 API 参考。
顺便说一句, public long[] find(java.lang.String query) throws SigarException
类中的方法ProcessFinder
可用于获取操作系统详细信息。
添加回答
举报