times

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
TIMES(2)		  Linux Programmer’s Manual		     TIMES(2)



NAME
       times - get process times

SYNOPSIS
       #include <sys/times.h>

       clock_t times(struct tms *buf);

DESCRIPTION
       The  times()  function  stores the current process times in the struct
       tms  that  buf  points  to.   The  struct  tms  is   as	 defined   in
       <sys/times.h>:

       struct tms {
	      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 */
       };

       The tms_utime field contains the CPU time spent executing instructions
       of the calling process.	The tms_stime field  contains  the  CPU	 time
       spent  in  the  system  while executing tasks on behalf of the calling
       process.	 The tms_cutime field contains the sum of the  tms_utime  and
       tms_cutime   values  for	 all  waited-for  terminated  children.	  The
       tms_cstime field contains the sum of the tms_stime and tms_cstime val-
       ues for all waited-for terminated children.

       Times  for  terminated children (and their descendants) is added in at
       the moment wait(2) or waitpid(2) returns their process ID. In particu-
       lar,  times  of	grandchildren  that the children did not wait for are
       never seen.

       All times reported are in clock ticks.

RETURN VALUE
       The function times returns the number of clock ticks that have elapsed
       since  an arbitrary point in the past.  For Linux 2.4 and earlier this
       point is the moment the system was  booted.   Since  Linux  2.6,	 this
       point is (2^32/HZ) - 300 (i.e., about 429 million) seconds before sys-
       tem boot time.  The return value may overflow the  possible  range  of
       type  clock_t.	On  error, (clock_t) -1 is returned, and errno is set
       appropriately.

NOTES
       The number of clock ticks per second can be obtained using
	      sysconf(_SC_CLK_TCK);
       In POSIX-1996 the symbol CLK_TCK (defined in <time.h>) is mentioned as
       obsolescent. It is obsolete now.

       On  Linux,  if  the  disposition of SIGCHLD is set to SIG_IGN then the
       times  of  terminated  children	are  automatically  included  in  the
       tms_cstime and tms_cutime fields, although POSIX 1003.1-2001 says that
       this should only happen if the calling process wait()s  on  its	chil-
       dren.

       Note  that  clock(3)  returns values of type clock_t that are not mea-
       sured in clock ticks but in CLOCKS_PER_SEC.

CONFORMING TO
       SVr4, SVID, POSIX, X/OPEN, BSD 4.3

HISTORICAL NOTES
       SVr1-3 returns long and the struct members are of type time_t although
       they store clock ticks, not seconds since the epoch.  V7 used long for
       the struct members, because it had no type time_t yet.

       On older systems the number of clock ticks per second is given by  the
       variable HZ.

SEE ALSO
       time(1), getrusage(2), wait(2), clock(3), sysconf(3)



Linux				  2002-06-14			     TIMES(2)