TIMES(2) System Calls TIMES(2)

NAME


times - get process and child process times

SYNOPSIS


#include <sys/times.h>
#include <limits.h>

clock_t times(struct tms *buffer);


DESCRIPTION


The times() function fills the tms structure pointed to by buffer with
time-accounting information. The tms structure, defined in <sys/times.h>,
contains the following members:

clock_t tms_utime;
clock_t tms_stime;
clock_t tms_cutime;
clock_t tms_cstime;


All times are reported in clock ticks. The specific value for a clock
tick is defined by the variable CLK_TCK, found in the header <limits.h>.


The times of a terminated child process are included in the tms_cutime
and tms_cstime members of the parent when wait(3C) or waitpid(3C) returns
the process ID of this terminated child. If a child process has not
waited for its children, their times will not be included in its times.


The tms_utime member is the CPU time used while executing instructions in
the user space of the calling process.


The tms_stime member is the CPU time used by the system on behalf of the
calling process.


The tms_cutime member is the sum of the tms_utime and the tms_cutime of
the child processes.


The tms_cstime member is the sum of the tms_stime and the tms_cstime of
the child processes.

RETURN VALUES


Upon successful completion, times() returns the elapsed real time, in
clock ticks, since an arbitrary point in the past (for example, system
start-up time). This point does not change from one invocation of times()
within the process to another. The return value may overflow the possible
range of type clock_t. If times() fails, (clock_t)-1 is returned and
errno is set to indicate the error.

ERRORS


The times() function will fail if:

EFAULT
The buffer argument points to an illegal address.


ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+-------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|Interface Stability | Standard |
+--------------------+-------------------+
|MT-Level | Async-Signal-Safe |
+--------------------+-------------------+

SEE ALSO


time(1), timex(1), exec(2), fork(2), time(2), waitid(2), wait(3C),
waitpid(3C), attributes(7), standards(7)

May 14, 1997 TIMES(2)