OpenBSD manual page server

Manual Page Search Parameters

TIMES(3) Library Functions Manual TIMES(3)

timesprocess times

#include <sys/times.h>

clock_t
times(struct tms *tp);

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

The () 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.

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.

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

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

The times() function conforms to IEEE Std 1003.1-1988 (“POSIX.1”).

A times() function first appeared in Version 3 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.

September 11, 2022 OpenBSD-current