我已经下载了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
。 去看一下。