Search code examples
javawindowssigar

Sigar API for JAVA (need a guide)


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?


Solution

  • 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