Reputation: 5226
I've downloaded Sigar API ( http://support.hyperic.com/display/SIGAR/Home ) and would like to use it in a project to get information about different processes which are running.
My problem is that I can't really find some useful code snippets to learn from and the javadoc from their website isn't of much help, because I don't know what I should be looking for.
Do you have any ideea where I could find more information?
Upvotes: 5
Views: 13030
Reputation: 5226
To find the pid
(which is needed to find out information about a certain process), you can use a ProcessFinder
.
The method to find a single process pid is findSingleProcess(String expression)
. Example:
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()));
The expression syntax is this:
Class.Attribute.operator=value
Where:
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
More info here through the wayback machine: https://web.archive.org/web/20170201073935/http://support.hyperic.com/display/SIGAR/PTQL
Upvotes: 11
Reputation: 156
The hyperic site seems to be gone, but this https://layer4.fr/blog/2016/10/10/os-monitoring-with-java/ tells you how to hook Sigar to Java. You do need to put the sigar-amd64-winnt.dll file somewhere on the DLL path (e.g. C:\Windows)
Upvotes: 0
Reputation: 318
If you are using Windows 7 try doing something
likefindSingleProcess("State.Name.ct=explorer");
Upvotes: 2
Reputation: 12069
In their latest package, they give a lot of usage examples under bindings\java\examples
. Check them out.
Upvotes: 0