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, -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