xref: /freebsd/lib/libc/gen/times.3 (revision 10ff414c)
1.\" Copyright (c) 1990, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 3. Neither the name of the University nor the names of its contributors
13.\"    may be used to endorse or promote products derived from this software
14.\"    without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\"     @(#)times.3	8.1 (Berkeley) 6/4/93
29.\" $FreeBSD$
30.\"
31.Dd December 1, 2008
32.Dt TIMES 3
33.Os
34.Sh NAME
35.Nm times
36.Nd process times
37.Sh LIBRARY
38.Lb libc
39.Sh SYNOPSIS
40.In sys/times.h
41.Ft clock_t
42.Fn times "struct tms *tp"
43.Sh DESCRIPTION
44.Bf -symbolic
45This interface is obsoleted by
46.Xr getrusage 2
47and
48.Xr gettimeofday 2 .
49.Ef
50.Pp
51The
52.Fn times
53function returns the value of time in
54.Dv CLK_TCK Ns 's
55of a second since the system startup time.
56The current value of
57.Dv CLK_TCK ,
58the frequency of the statistics clock in ticks per second, may be
59obtained through the
60.Xr sysconf 3
61interface.
62.Pp
63It also fills in the structure pointed to by
64.Fa tp
65with time-accounting information.
66.Pp
67The
68.Vt tms
69structure is defined as follows:
70.Bd -literal -offset indent
71struct tms {
72	clock_t tms_utime;
73	clock_t tms_stime;
74	clock_t tms_cutime;
75	clock_t tms_cstime;
76};
77.Ed
78.Pp
79The elements of this structure are defined as follows:
80.Bl -tag -width ".Va tms_cutime"
81.It Va tms_utime
82The
83.Tn CPU
84time charged for the execution of user instructions.
85.It Va tms_stime
86The
87.Tn CPU
88time charged for execution by the system on behalf of
89the process.
90.It Va tms_cutime
91The sum of the
92.Va tms_utime Ns s
93and
94.Va tms_cutime Ns s
95of the child processes.
96.It Va tms_cstime
97The sum of the
98.Fa tms_stime Ns s
99and
100.Fa tms_cstime Ns s
101of the child processes.
102.El
103.Pp
104All times are in
105.Dv CLK_TCK Ns 's
106of a second.
107.Pp
108The times of a terminated child process are included in the
109.Va tms_cutime
110and
111.Va tms_cstime
112elements of the parent when one of the
113.Xr wait 2
114functions returns the process ID of the terminated child to the parent.
115If an error occurs,
116.Fn times
117returns the value
118.Pq Po Vt clock_t Pc Ns \-1 ,
119and sets
120.Va errno
121to indicate the error.
122.Sh ERRORS
123The
124.Fn times
125function
126may fail and set the global variable
127.Va errno
128for any of the errors specified for the library
129routines
130.Xr getrusage 2
131and
132.Xr gettimeofday 2 .
133.Sh SEE ALSO
134.Xr time 1 ,
135.Xr getrusage 2 ,
136.Xr gettimeofday 2 ,
137.Xr wait 2 ,
138.Xr sysconf 3 ,
139.Xr clocks 7
140.Sh STANDARDS
141The
142.Fn times
143function
144conforms to
145.St -p1003.1-88 .
146