使用Java检索Window';s进程

使用Java检索Window';s进程,java,windows,process,cpu,system-monitoring,Java,Windows,Process,Cpu,System Monitoring,我正在寻找一个Java解决方案来查找Windows中运行进程的CPU使用情况。环顾网络之后,似乎很少有关于Java解决方案的信息。请记住,我不是要查找JVM的CPU使用情况,而是要查找当时在Windows中运行的任何进程 我可以通过使用exec(“tasklist.exe…”)检索和解析进程信息来检索Java中的内存使用情况。虽然每个进程都有一个聚合CPU周期计时器,但我没有看到CPU使用率列 任何帮助都将不胜感激。另外,如果可能的话,我想远离C库;然而,如果没有其他替代办法,则通过这种方式解决

我正在寻找一个Java解决方案来查找Windows中运行进程的CPU使用情况。环顾网络之后,似乎很少有关于Java解决方案的信息。请记住,我不是要查找JVM的CPU使用情况,而是要查找当时在Windows中运行的任何进程

我可以通过使用exec(“tasklist.exe…”)检索和解析进程信息来检索Java中的内存使用情况。虽然每个进程都有一个聚合CPU周期计时器,但我没有看到CPU使用率列

任何帮助都将不胜感激。另外,如果可能的话,我想远离C库;然而,如果没有其他替代办法,则通过这种方式解决是适当的

非常感谢

史蒂夫

Windows中任何正在运行的进程

因此,不以任何方式受Java控制

我想远离JNI


算了吧。Java不是特定于平台的。如果您想访问特定于平台的信息,就不能绕过JNI。

查看。它将允许您调用COM对象,并且在Windows上有大量COM对象用于获取此类信息

您正在编写/使用一个单独的程序将数据转储到某个地方,然后可以通过网络、文件或数据库从Java中获取数据。在Linux中,您可以随时阅读
/proc
,但在Win上则不需要,需要一个单独的程序(没有JNI)。

看看这些问题:


如果GPL许可的API适合您,请尝试

它允许访问您想要的信息(以及更多),并且在许多相关平台上都受支持

试用,BSD许可(确切地说:FreeBSD 2条款许可)

我用它来获取CPU核心和CPU使用率。我认为这比使用tasklist.exe要好得多