适用于JAVA的Sigar API(需要指导)

我已经下载了Sigar API( http://support.hyperic.com/display/SIGAR/Home ),并希望在项目中使用它来获取有关正在运行的不同进程的信息。

我的问题是,我不能真正find一些有用的代码片段来学习和从他们的网站的javadoc没有多大的帮助,因为我不知道我应该找什么。

你有什么想法,我可以find更多的信息?

要找到pid (需要找出有关某个进程的信息),可以使用ProcessFinder 。 找到单个进程pid的方法是findSingleProcess(String expression) 。 例:

  Sigar sigar=new Sigar(); ProcessFinder find=new ProcessFinder(sigar); long pid=find.findSingleProcess("Exe.Name.ct=explorer"); ProcMem memory=new ProcMem(); memory.gather(sigar, pid); System.out.println(Long.toString(memory.getSize())); 

表达式语法是这样的:

 Class.Attribute.operator=value 

哪里:

 Class is the name of the Sigar class minus the Proc prefix. Attribute is an attribute of the given Class, index into an array or key in a Map class. operator is one of the following for String values: eq - Equal to value ne - Not Equal to value ew - Ends with value sw - Starts with value ct - Contains value (substring) re - Regular expression value matches operator is one of the following for numeric values: eq - Equal to value ne - Not Equal to value gt - Greater than value ge - Greater than or equal value lt - Less than value le - Less than or equal value 

更多信息在这里: http : //support.hyperic.com/display/SIGAR/PTQL

如果您正在使用Windows 7,请尝试做一些事情

 likefindSingleProcess("State.Name.ct=explorer"); 

在他们的最新软件包中,他们在bindings\java\examples下提供了很多使用bindings\java\examples 。 去看一下。