Man Linux: Main Page and Category List

NAME

       sg_get_process_stats,   sg_get_process_count,  sg_process_compare_name,
       sg_process_compare_pid, sg_process_compare_uid, sg_process_compare_gid,
       sg_process_compare_size,                        sg_process_compare_res,
       sg_process_compare_cpu,   sg_process_compare_time   -    get    process
       statistics

SYNOPSIS

       #include <statgrab.h>

       sg_process_stats *sg_get_process_stats(int *entries);

       sg_process_count *sg_get_process_count(void);

       int sg_process_compare_name(const void *va, const void *vb);

       int sg_process_compare_pid(const void *va, const void *vb);

       int sg_process_compare_uid(const void *va, const void *vb);

       int sg_process_compare_gid(const void *va, const void *vb);

       int sg_process_compare_size(const void *va, const void *vb);

       int sg_process_compare_res(const void *va, const void *vb);

       int sg_process_compare_cpu(const void *va, const void *vb);

       int sg_process_compare_time(const void *va, const void *vb);

DESCRIPTION

       The  sg_get_process_stats  takes a pointer to an int, entries, which is
       filled with the number of processes the snapshot contains.  The  return
       value  is a pointer to the first member of an array of sg_process_stats
       structures; the number of entries in the array is returned in  entries.

       sg_get_process_count  returns  a  pointer  to  a  static buffer of type
       sg_process_count.

       These two functions provide information on the process running  on  the
       system. In the first case lots of detail is provided, and in the second
       case a summary of the states of the current processes.

       sg_process_compare_name

       sg_process_compare_pid

       sg_process_compare_uid

       sg_process_compare_gid

       sg_process_compare_size

       sg_process_compare_res

       sg_process_compare_cpu

       sg_process_compare_time

       These functions compare two sg_process_stats entries, and return an int
       to  represent  which one is greater. The main use of these functions is
       to be passed to qsort to sort the sg_process_stats by the given type.

       For example:

       qsort(sg_process_stats     ps,     int     ps_size,     sizeof     *ps,
       sg_process_compare_pid);

RETURN VALUES

       The   structure   returned   by   sg_get_process_stats   is   of   type
       sg_process_stats.

       typedef struct {
               char *process_name;
               char *proctitle;

               pid_t pid;
               pid_t parent; /* Parent pid */
               pid_t pgid;   /* process id of process group leader */

               uid_t uid;
               uid_t euid;
               gid_t gid;
               gid_t egid;

               unsigned long long proc_size; /* in bytes */
               unsigned long long proc_resident; /* in bytes */
               time_t time_spent; /* time running in seconds */
               double cpu_percent;
               int nice;
               sg_process_state state;
       } sg_process_stats;

       typedef enum {
               SG_PROCESS_STATE_RUNNING,
               SG_PROCESS_STATE_SLEEPING,
               SG_PROCESS_STATE_STOPPED,
               SG_PROCESS_STATE_ZOMBIE,
               SG_PROCESS_STATE_UNKNOWN
       } sg_process_state;

       process_name
              The name of the command that was run.

       proctitle
              The command line (the "title") of the process. Take note -  this
              can  be  modified  by the process, so isn’t guaranteed to be the
              original command line.

       pid    The process ID.

       parent The parent process ID.

       pgid   The process ID of the process group leader.

       uid    The UID the process is running as.

       euid   The effective UID the process is running as.

       gid    The GID the process is running as.

       egid   The effective GID the process is running as.

       proc_size
              The size of the process in bytes.

       proc_resident
              The size of the process that’s resident in memory.

       time_spent
              The number of seconds the process has been running.

       cpu_percent
              The current percentage of CPU the process is using.

       nice   The nice value of the process.

       state  The current state  of  the  process.  See  sg_process_state  for
              permitted values.

       The   structure   returned   by   sg_get_process_count   is   of   type
       sg_process_count.

       typedef struct{
               int total;
               int running;
               int sleeping;
               int stopped;
               int zombie;
       }sg_process_count;

       total  The total number of processes.

       running
              The number of running processes.

       sleeping
              The number of sleeping processes.

       stopped
              The number of stopped processes.

       zombie The number of zombie processes.

SEE ALSO

       statgrab(3)

WEBSITE

       http://www.i-scream.org/libstatgrab/