TIMES(2) SysV TIMES(2)
NAME
times - get process and child process times
SYNOPSIS
#include <sys/types.h>
#include <sys/times.h>
long times (buffer)
struct tms *buffer;
DESCRIPTION
times fills the structure pointed to by buffer with time-accounting
information. The following are the contents of this structure:
struct tms {
clock_t tms_utime; /* user time */
clock_t tms_stime; /* system time */
clock_t tms_cutime; /* user time, children */
clock_t tms_cstime; /* system time, children */
};
This information comes from the calling process and each of its
terminated child processes for which it has executed a wait. All times
are reported in clock ticks. Clock ticks are a system-dependent
parameter. The specific value for an implementation is defined by the
variable HZ, found in <param.h>.
The fields of the tms structure have the following meanings:
tms_utime is the CPU time used while executing instructions in the
user space of the calling process.
tms_stime is the CPU time used by the system on behalf of the calling
process.
tms_cutime is the sum of the tms_utimes and tms_cutimes of the child
processes.
tms_cstime is the sum of the tms_stimes and tms_cstimes of the child
processes.
DIAGNOSTICS
Upon successful completion, times returns the elapsed real time, in clock
ticks, from an arbitrary point in the past (for example, system start-up
time). This point does not change from one invocation of times to
another. If times fails, a -1 is returned and errno is set to indicate
the error.
ERRORS
times will fail if the following is true:
[EFAULT] buffer points to an illegal address.
SEE ALSO
exec(2), fork(2), time(2), wait(2).