Man Linux: Main Page and Category List

NAME

       getrusage - get information about resource utilization

SYNOPSIS

       #include <sys/resource.h>

       int getrusage(int who, struct rusage *r_usage);

DESCRIPTION

       The  getrusage()  function shall provide measures of the resources used
       by  the  current  process  or  its  terminated  and  waited-for   child
       processes. If the value of the who argument is RUSAGE_SELF, information
       shall be returned about resources used by the current process.  If  the
       value  of  the  who  argument  is RUSAGE_CHILDREN, information shall be
       returned about resources used by the terminated and waited-for children
       of  the current process. If the child is never waited for (for example,
       if the parent has SA_NOCLDWAIT set or sets  SIGCHLD  to  SIG_IGN),  the
       resource  information  for  the  child  process  is  discarded  and not
       included in the resource information provided by getrusage().

       The r_usage argument is a pointer to an object of type struct rusage in
       which the returned information is stored.

RETURN VALUE

       Upon  successful  completion, getrusage() shall return 0; otherwise, -1
       shall be returned and errno set to indicate the error.

ERRORS

       The getrusage() function shall fail if:

       EINVAL The value of the who argument is not valid.

       The following sections are informative.

EXAMPLES

   Using getrusage()
       The following example returns information about the resources  used  by
       the current process.

              #include <sys/resource.h>
              ...
              int who = RUSAGE_SELF;
              struct rusage usage;
              int ret;

              ret = getrusage(who, &usage);

APPLICATION USAGE

       None.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       exit() , sigaction() , time() , times() , wait() , the Base Definitions
       volume of IEEE Std 1003.1-2001, <sys/resource.h>

COPYRIGHT

       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the  referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .