getrusage() — Get information about resource utilization

Standards

Standards / Extensions C or C++ Dependencies
XPG4.2
Single UNIX Specification, Version 3
both  

Format

#define _XOPEN_SOURCE_EXTENDED 1
#include <sys/resource.h>

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

General description

The getrusage() function provides 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 is returned about resources used by the current process. If the value of the who argument is RUSAGE_CHILDREN, information is returned about resources used by the terminated and waited-for-children of the current process. If the child is never waited for (for instance, 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 of an object of type struct rusage in which the returned information is stored.

Returned value

If successful, getrusage() returns 0.

If unsuccessful, getrusage() returns -1 and sets errno to one of the following values:
Error Code
Description
EINVAL
The value of the who argument is not valid.

Related information