HPlogo HP-UX Reference Volume 3 of 5 > t

times(2)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

times — get process and child process times

SYNOPSIS

#include <sys/times.h>

clock_t times(struct tms *buffer);

DESCRIPTION

times() fills the structure pointed to by buffer with time-accounting information. The structure defined in <sys/times.h> is as follows:

struct tms { clock_t tms_utime; /* user time */ clock_t tms_stime; /* system time */" clock_t tms_cutime; /* user time, children */ clock_t tms_cstime; /* system time, children */ };

This information comes from the calling process and each of its terminated child processes for which it has executed a wait(), wait3(), or waitpid(). The times are in units of 1/CLK_TCK seconds, where CLK_TCK is processor dependent The value of CLK_TCK can be queried using the sysconf() function (see sysconf(2)).

tms_utime is the CPU time used while executing instructions in the user space of the calling process.

tms_stime is the CPU time used by the system on behalf of the calling process.

tms_cutime is the sum of the tms_utimes and tms_cutimes of the child processes.

tms_cstime is the sum of the tms_stimes and tms_cstimes of the child processes.

RETURN VALUE

Upon successful completion, times() returns the elapsed real time, in units of 1/CLK_TCK of a second, since an arbitrary point in the past (such as system start-up time). This point does not change from one invocation of times() to another. If times() fails, -1 is returned and errno is set to indicate the error.

Remarks

times() has a granularity of one tick. Processes which run less than one tick may not register any value.

ERRORS

[EFAULT]

times() fails if buffer points to an illegal address. The reliable detection of this error is implementation dependent.

WARNINGS

Not all CPU time expended by system processes on behalf of a user process is counted in the system CPU time for that process.

STANDARDS CONFORMANCE

times(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1

© Hewlett-Packard Development Company, L.P.