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 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.
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:
The following sections are informative.
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);
exit() , sigaction() , time() , times() , wait() , the Base Definitions volume of IEEE Std 1003.1-2001, <sys/resource.h>