Get time-accounting information
#include <sys/times.h> clock_t times( struct tms* buffer );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
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:
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.
The elapsed real time, in clock ticks, of kernel uptime.
/*
* 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;
}
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |