The Open Group Base Specifications Issue 8
IEEE Std 1003.1-2024
Copyright © 2001-2024 The IEEE and The Open Group

NAME

getrusage — get information about resource utilization

SYNOPSIS

[XSI] [Option Start] #include <sys/resource.h>

int getrusage(int
who, struct rusage *r_usage); [Option End]

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

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.

Issue 8

Austin Group Defect 1336 is applied, clarifying the requirements when the who argument is RUSAGE_CHILDREN.

End of informative text.

 

return to top of page

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