getrusage (original) (raw)

The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

A newer edition of this document exists here


NAME

getrusage - get information about resource utilization

SYNOPSIS

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

int getrusage(int

who, struct rusage *rusage); [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 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(), the Base Definitions volume of IEEE Std 1003.1-2001, <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.


UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT]