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 values 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 particular, 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 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 errno is
       set appropriately.


NOTE

       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.

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

       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)


Man(1) output converted with man2html