getrusage — get information about resource utilization
[XSI] #include <sys/resource.h>
int getrusage(int who, struct rusage *r_usage);
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.
Upon successful completion, getrusage() shall return 0; otherwise, -1 shall be returned and errno set to indicate the error.
The getrusage() function shall fail if:
- [EINVAL]
- The value of the who argument is not valid.
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);
None.
None.
None.
exit , sigaction , time , times , wait
XBD <sys/resource.h>
First released in Issue 4, Version 2.
Moved from X/OPEN UNIX extension to BASE.
Austin Group Defect 1336 is applied, clarifying the requirements when the who argument is RUSAGE_CHILDREN.
return to top of page