times()
Get time-accounting information
Synopsis:
#include <sys/times.h>
clock_t times( struct tms* buffer );
Arguments:
- buffer
- A pointer to a tms structure where the function can store the time-accounting information. For information about the tms structure, see below.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The times() function stores time-accounting information in the structure pointed to by buffer. The type clock_t and the tms structure are defined in the <sys/times.h> header file.
The tms structure contains at least the following members:
- clock_t tms_utime
- The CPU time charged for the execution of user instructions of the calling process.
- clock_t tms_stime
- The CPU time charged for execution by the system on behalf of the calling process.
- clock_t tms_cutime
- The sum of the tms_utime and tms_cutime values of the child processes.
- clock_t tms_cstime
- The sum of the tms_stime and tms_cstime values of the child processes.
All times are in CLK_TCK'ths of a second. CLK_TCK is defined in the <time.h> header file. A CLK_TCK is the equivalent of:
#define sysconf( _SC_CLK_TCK )
The times of a terminated child process are included in the tms_cutime and tms_cstime elements of the parent when a wait() or waitpid() function returns the process ID of this terminated child. If a child process hasn't waited for its terminated children, their times aren't included in its times.
Returns:
The elapsed real time, in clock ticks, of kernel uptime.
Examples:
/*
* The following program executes the program
* specified by argv[1]. After the child program
* is finished, the cpu statistics of the child are
* printed.
*/
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/times.h>
int main( int argc, char **argv )
{
struct tms childtim;
system( argv[1] );
times( &childtim );
printf( "system time = %d\n", childtim.tms_cstime );
printf( "user time = %d\n", childtim.tms_cutime );
return EXIT_SUCCESS;
}
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Yes |