NAME
getrusage — get information about resource utilization
SYNOPSIS
#include <sys/resource.h>
int getrusage(int who, struct rusage *r_usage);
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 to an object of
type
struct
rusage
in which the returned information is stored.
If the current process is multi-threaded,
getrusage()
returns the information about the resources used by all the active and the
reaped threads/light-weight processes in the current process if the value of
the
who
argument is
RUSAGE_SELF.
If the value of the
who
argument is
RUSAGE_CHILDREN
in a multi-threaded process, information returned is the same as it would be for
a single-threaded process.
RETURN VALUE
Upon successful completion,
getrusage()
returns
0.
Otherwise,
-1
is returned, and
errno
is set to indicate the error.
ERRORS
The
getrusage()
function will fail if:
- [EINVAL]
The value of the who argument is not valid.