TIMES(3)

NAME
times - process times

SYNOPSIS
#include <sys/times.h>
clock_t
times(struct tms *tp);

DESCRIPTION
This interface is obsoleted by clock_gettime(2) and getrusage(2).

The times() function fills in the structure pointed to by tp with time-accounting information.

The tms structure is defined as follows:

    struct tms {
    	clock_t tms_utime;
    	clock_t tms_stime;
    	clock_t tms_cutime;
    	clock_t tms_cstime;
    };

The elements of this structure are defined as follows:

tms_utime
    The CPU time charged for the execution of user instructions.

tms_stime
    The CPU time charged for execution by the system on behalf of the process.

tms_cutime
    The sum of tms_utime and tms_cutime for all of the child processes.

tms_cstime
    The sum of tms_stime and tms_cstime for all of the child processes.

All times are in CLK_TCKs of a second.

The times of a terminated child process are included in the tms_cutime and tms_cstime elements of the parent when one of the wait(2) functions returns the process ID of the terminated child to the parent.

RETURN VALUES
Upon successful completion, times() returns the value of real time, in CLK_TCKs of a second, elapsed since an arbitrary point in the past. This point does not change between invocations of times() so two such return values constitute a real time interval.

On failure, times() returns (clock_t)-1 and the global variable errno is set to indicate the error.

ERRORS
The times() function may fail and set errno for any of the errors specified for clock_gettime(2) and getrusage(2).

SEE ALSO
time(1), clock_gettime(2), getrusage(2), wait(2)

STANDARDS
The times() function conforms to p1003.1-88.

HISTORY
A times() function first appeared in AT&T UNIX. The tms structure first appeared in 4.0BSD and was changed to use clock_t instead of time_t for its members in 4.3BSD Net/2.