times - Get process and child process times
struct tms *buffer );
Programs that are being developed for conformance to the
AT&T System V Interface Definition must specify two
#include statements, as follows:
#include <sys/types.h> #include <sys/times.h>
Standard C Library (libc)
Interfaces documented on this reference page conform to
industry standards as follows:
times(): XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
Points to type tms structure space where system time
information is stored.
The times() function fills the type tms structure space
pointed to by the buffer parameter with time-accounting
information. All time values reported by this function are
in hardware-dependent clock ticks.
The times of a terminated child process are included in
the tms_cutime and tms_cstime elements of the parent process
when a wait function returns the process ID of that
The tms structure, which is defined in the sys/times.h
header file, contains the following members: User time.
The CPU time charged while executing user instructions of
the calling process. System time. The CPU time charged
during system execution on behalf of the calling process.
User time, children. The sum of the tms_utime and the
tms_cutime times of the child processes. System time,
children. The sum of the tms_stime and the tms_cstime
times of the child processes.
When a child process does not wait for its children, its
child-process times are not included in its times.
This information comes from the calling process and each
of its terminated child processes for which a wait function
has been executed.
Upon successful completion, the times() function returns
the elapsed real time since an arbitrary reference time in
the past (for example, system start-up time). The reference
time does not change from one invocation of times()
within the process to another. The elapsed times are in
units of 1/CLK_TCK seconds, where CLK_TCK is processor
dependent. For application portability, the value of
CLK_TCK should be queried using the sysconf() function
The return value may overflow the possible range of type
clock_t values. When the times() function fails, a value
of (clock_t)-1 is returned.
Functions: exec(2), fork(2), getrusage(2), profil(2),
stime(3), sysconf(3), time(3), wait(2)
[ Back ]