NAME
getrusage — get
information about resource utilization
SYNOPSIS
[XSI]
#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 children of the current process that have terminated and been waited-for
and their children that have terminated and been waited-for, recursively. 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.
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(3), sigaction(3), time(3), times(3), wait(3)
XBD <sys/resource.h>
CHANGE HISTORY
First released in Issue 4, Version 2.
Issue 5
Moved from X/OPEN UNIX extension to BASE.
Issue 8
Austin Group Defect 1336 is applied, clarifying the requirements when the who argument is RUSAGE_CHILDREN.