TIMES(2) System Calls TIMES(2)


times - get process and child process times


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

clock_t times(struct tms *buffer);


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.


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.


The times() function will fail if:

The buffer argument points to an illegal address.


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

|Interface Stability | Standard |
|MT-Level | Async-Signal-Safe |


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)