如何使用Java pid获取进程信息



我有一个进程的进程id。我可以得到其他信息的进程,如CPU%,内存,exe名称等?

我已经看到没有内置函数来获得所有这些。如何在Native中做到这一点?

请帮。

Java是一个平台独立的平台。它的规范没有定义任何关于pid的东西。因此,您无法找到一种通用/可移植的方法来操作pid。虽然这不是一个好的实践,但您可以针对特定的平台进行实现。

在windows上,您可以使用tasklist来获得完整的pid列表和您想要的过滤器。

在Unix/Linux系统上,你可以使用ps ax | grep来获取你的信息

所有这些信息都可以从操作系统中获得。例如Windows中的任务管理器。

Java可以提供的是,例如,线程转储:
%JAVA_HOME%/bin/jstack.exe PID >stack.txt
或者堆转储:
%JAVA_HOME%/bin/jmap.exe -dump:format=b,file=heap.bin PID

内置到java中,据我所知,没有公开的API:

但是你可以结合java和OS本地命令来获取信息。

Windows explore (tasklist): http://msdn.microsoft.com/en-us/library/windows/hardware/ff545415(v=vs.85).aspx

Unix explore (ps):在Linux上获取进程ID的Shell脚本

相关内容

  • 没有找到相关文章