The times
function returns information about a process'
consumption of processor time in a struct tms
object, in
addition to the process' CPU time. See Time Basics. You should
include the header file sys/times.h to use this facility.
The
tms
structure is used to return information about process times. It contains at least the following members:
clock_t tms_utime
- This is the total processor time the calling process has used in executing the instructions of its program.
clock_t tms_stime
- This is the processor time the system has used on behalf of the calling process.
clock_t tms_cutime
- This is the sum of the
tms_utime
values and thetms_cutime
values of all terminated child processes of the calling process, whose status has been reported to the parent process bywait
orwaitpid
; see Process Completion. In other words, it represents the total processor time used in executing the instructions of all the terminated child processes of the calling process, excluding child processes which have not yet been reported bywait
orwaitpid
.clock_t tms_cstime
- This is similar to
tms_cutime
, but represents the total processor time system has used on behalf of all the terminated child processes of the calling process.All of the times are given in numbers of clock ticks. Unlike CPU time, these are the actual amounts of time; not relative to any event. See Creating a Process.
The
times
function stores the processor time information for the calling process in buffer.The return value is the calling process' CPU time (the same value you get from
clock()
.times
returns(clock_t)(-1)
to indicate failure.
Portability Note: The clock
function described in
CPU Time is specified by the ISO C standard. The
times
function is a feature of POSIX.1. In the GNU system, the
CPU time is defined to be equivalent to the sum of the tms_utime
and tms_stime
fields returned by times
.