The Open Group Base Specifications Issue 7
IEEE Std 1003.1, 2013 Edition
Copyright © 2001-2013 The IEEE and The Open Group

#### 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 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.

#### 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.

The following sections are informative.

#### 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, sigaction, time, times, wait

> XBD <sys/resource.h>

#### CHANGE HISTORY

> First released in Issue 4, Version 2.

#### Issue 5

> Moved from X/OPEN UNIX extension to BASE.

End of informative text.

return to top of page

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
Copyright © 2001-2013 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]