diff options
Diffstat (limited to 'man2/times.2')
-rw-r--r-- | man2/times.2 | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/man2/times.2 b/man2/times.2 new file mode 100644 index 000000000..f0ebee887 --- /dev/null +++ b/man2/times.2 @@ -0,0 +1,153 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" +.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one. +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.\" Modified by Michael Haardt (michael@moria.de) +.\" Modified Sat Jul 24 14:29:17 1993 by Rik Faith (faith@cs.unc.edu) +.\" Modified 961203 and 001211 and 010326 by aeb@cwi.nl +.\" Modified 001213 by Michael Haardt (michael@moria.de) +.\" Modified 13 Jun 02, Michael Kerrisk <mtk16@ext.canterbury.ac.nz> +.\" Added note on non-standard behaviour when SIGCHLD is ignored. +.\" +.TH TIMES 2 2002-06-14 "Linux" "Linux Programmer's Manual" +.SH NAME +times \- get process times +.SH SYNOPSIS +.B #include <sys/times.h> +.sp +.BI "clock_t times(struct tms *" buf ); +.SH DESCRIPTION +The +.BR times () +function stores the current process times in the +.B "struct tms" +that +.IR buf +points to. +The +.I struct tms +is as defined in +.IR <sys/times.h> : +.sp +.nf +struct tms { +.RS +clock_t tms_utime; /* user time */ +clock_t tms_stime; /* system time */ +clock_t tms_cutime; /* user time of children */ +clock_t tms_cstime; /* system time of children */ +.RE +}; +.fi +.LP +The +.I tms_utime +field contains the CPU time spent executing instructions +of the calling process. +The +.I tms_stime +field contains the CPU time spent in the system while +executing tasks on behalf of the calling process. +The +.I tms_cutime +field contains the sum of the +.I tms_utime +and +.I tms_cutime +values for all waited-for terminated children. +The +.I tms_cstime +field contains the sum of the +.I tms_stime +and +.I tms_cstime +values for all waited-for terminated children. +.LP +Times for terminated children (and their descendants) +is added in at the moment +.BR wait (2) +or +.BR waitpid (2) +returns their process ID. In particular, times of grandchildren +that the children did not wait for are never seen. +.LP +All times reported are in clock ticks. +.SH "RETURN VALUE" +The function +.B times +returns the number of clock ticks that have elapsed since +an arbitrary point in the past. For Linux this point is +the moment the system was booted. +This return value may overflow the possible range of type clock_t. +On error, (clock_t) \-1 is returned, and +.I errno +is set appropriately. +.SH NOTES +The number of clock ticks per second can be obtained using +.RS +sysconf(_SC_CLK_TCK); +.RE +In POSIX-1996 the symbol CLK_TCK (defined in +.IR <time.h> ) +is mentioned as obsolescent. It is obsolete now. +.PP +On Linux, if the disposition of SIGCHLD is set to +.B SIG_IGN +then the times of terminated children +are automatically included in the +.I tms_cstime +and +.I tms_cutime +fields, although POSIX 1003.1-2001 says that this should only happen +if the calling process +.BR wait ()s +on its children. +.\" See the description of times() in XSH, which says: +.\" The times of a terminated child process are included... when wait() +.\" or waitpid() returns the process ID of this termianted child. +.LP +Note that +.BR clock (3) +returns values of type clock_t that are not measured in clock ticks +but in CLOCKS_PER_SEC. +.SH "CONFORMING TO" +SVr4, SVID, POSIX, X/OPEN, BSD 4.3 +.SH "HISTORICAL NOTES" +SVr1-3 returns +.B long +and the struct members are of type +.B time_t +although they store clock ticks, not seconds since the epoch. V7 used +.B long +for the struct members, because it had no type +.B time_t +yet. +.PP +On older systems the number of clock ticks per second is given +by the variable HZ. +.SH "SEE ALSO" +.BR time (1), +.BR getrusage (2), +.BR wait (2), +.BR clock (3), +.BR sysconf (3) |