times(3)times(3)NAMEtimes - Get process and child process timesSYNOPSIS
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 stan‐
dards 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
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 terminated child.
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 termi‐
nated 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 depen‐
dent. For application portability, the value of CLK_TCK should be
queried using the sysconf() function (see sysconf(3)).
The return value may overflow the possible range of type clock_t val‐
ues. When the times() function fails, a value of (clock_t)-1 is
Functions: exec(2), fork(2), getrusage(2), profil(2), stime(3),
sysconf(3), time(3), wait(2)