TIMES(3)

TIMES(3) | Library Functions Manual | TIMES(3)

# NAME

`times` —
process times

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

`#include <sys/times.h>`

clock_t
`times`(struct tms *tp);

# DESCRIPTION

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

The `times`() function returns the value of time in clock ticks since 0 hours, 0 minutes, 0 seconds, January 1, 1970, Coordinated Universal Time (UTC).

The number of clock ticks per second may be determined by calling sysconf(3) with the `_SC_CLK_TCK` request. It is generally (but not always) between 60 and 1024.

Note that at the common rate of 100 ticks per second on many NetBSD ports, and with a 32-bit unsigned clock_t, this value first wrapped in 1971.

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

The tms structure is defined as follows:

    typedef struct {
    	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 the tms_utime s and tms_cutime s of the child processes.
tms_cstime
  The sum of the tms_stimes and tms_cstimes of the child processes.

All times are measured in clock ticks, as defined above. Note that at 100 ticks per second, and with a 32-bit unsigned clock_t, the values wrap after 497 days.

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. If an error occurs, `times`() returns the value ((clock_t)-1), and sets errno to indicate the error.

# ERRORS

The `times`() function may fail and set the global variable errno for any of the errors specified for the library routines getrusage(2) and gettimeofday(2).

# SEE ALSO

time(1), getrusage(2), gettimeofday(2), wait(2), sysconf(3)

# STANDARDS

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

June 4, 1993 | NetBSD 9.0