NAME
times — get process and child process times
SYNOPSIS
#include <sys/times.h>
clock_t times(struct tms *buffer);
DESCRIPTION
times()
fills the structure pointed to by
buffer
with time-accounting information.
The structure defined in
<sys/times.h>
is as follows:
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(),
wait3(),
or
waitpid().
The times are in units of 1/CLK_TCK
seconds, where
CLK_TCK
is processor dependent.
The value of
CLK_TCK
can be queried using the
sysconf()
function (see
sysconf(2)).
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.
RETURN VALUE
Upon successful completion,
times()
returns the elapsed real time, in units of 1/CLK_TCK
of a second, since an arbitrary point in the past
(such as system start-up time).
This point does not change from one invocation of
times()
to another.
If
times()
fails, (clock_t) -1 is returned and
errno
is set to indicate the error.
Remarks
times()
has a granularity of one tick.
Processes which run less than one tick may not register any value.
ERRORS
- EFAULT
times()
fails if
buffer
points to an illegal address.
The reliable detection of this error is implementation dependent.
WARNINGS
Not all CPU
time expended by system processes on behalf of
a user process is counted in the system CPU
time for that process.
STANDARDS CONFORMANCE
times(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1