suse man page for clock_getcpuclockid

Query: clock_getcpuclockid

OS: suse

Section: 3

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

CLOCK_GETCPUCLOCKID(3)					     Linux Programmer's Manual					    CLOCK_GETCPUCLOCKID(3)

NAME
clock_getcpuclockid - obtain ID of a process CPU-time clock
SYNOPSIS
#include <time.h> int clock_getcpuclockid(pid_t pid, clockid_t *clock_id); Link with -lrt. Feature Test Macro Requirements for glibc (see feature_test_macros(7)): clock_getcpuclockid(): _XOPEN_SOURCE >= 600
DESCRIPTION
The clock_getcpuclockid() function obtains the ID of the CPU-time clock of the process whose ID is pid, and returns it in the location pointed to by clock_id. If pid is zero, then the clock ID of the CPU-time clock of the calling process is returned.
RETURN VALUE
On success, clock_getcpuclockid() returns 0; on error, it returns a positive error number.
ERRORS
ENOSYS The kernel does not support obtaining the per-process CPU-time clock of another process, and pid does not specify the calling process. EPERM The caller does not have permission to access the CPU-time clock of the process specified by pid. (Specified as an optional error in POSIX.1-2001; does not occur on Linux unless the kernel does not support obtaining the per-process CPU-time clock of another process.) ESRCH There is no process with the ID pid.
VERSIONS
The clock_getcpuclockid() function is available in glibc since version 2.2.
CONFORMING TO
POSIX.1-2001.
NOTES
Calling clock_gettime(2) with the clock ID obtained by a call to clock_getcpuclockid() with a pid of 0, is the same as using the clock ID CLOCK_PROCESS_CPUTIME_ID.
EXAMPLE
The example program below obtains the CPU-time clock ID of the process whose ID is given on the command line, and then uses clock_get- time(2) to obtain the time on that clock. An example run is the following: $ ./a.out 1 # Show CPU clock of init process CPU-time clock for PID 1 is 2.213466748 seconds Program source #define _XOPEN_SOURCE 600 #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <time.h> int main(int argc, char *argv[]) { clockid_t clockid; struct timespec ts; if (argc != 2) { fprintf(stderr, "%s <process-ID> ", argv[0]); exit(EXIT_FAILURE); } if (clock_getcpuclockid(atoi(argv[1]), &clockid) != 0) { perror("clock_getcpuclockid"); exit(EXIT_FAILURE); } if (clock_gettime(clockid, &ts) == -1) { perror("clock_gettime"); exit(EXIT_FAILURE); } printf("CPU-time clock for PID %s is %ld.%09ld seconds ", argv[1], (long) ts.tv_sec, (long) ts.tv_nsec); exit(EXIT_SUCCESS); }
SEE ALSO
clock_getres(2), timer_create(2), pthread_getcpuclockid(3), time(7)
COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2009-02-20 CLOCK_GETCPUCLOCKID(3)
Related Man Pages
clock_getcpuclockid(3) - x11r4
clock_getcpuclockid(3) - minix
clock_getcpuclockid(3) - opendarwin
clock_getcpuclockid(3) - bsd
clock_getcpuclockid(3) - plan9
Similar Topics in the Unix Linux Community
CPU time on multitask applications
how to know which process consume CPU time more
CPU and memory utilisation by one process
What command to time processing of code
CPU and memory utilization of a process, by process name