TIMES(3) | Library Functions Manual | 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_TCK`s 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_TCK`s 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 IEEE Std 1003.1-1988 (“POSIX.1”).

# HISTORY

A `times`() function first appeared in Version 3 AT&T UNIX.

July 1, 2024 | Debian