Loading

NOM

       clock_getcpuclockid  -  obtenir  l’identifiant  de  l’horloge  CPU d’un
       processus

SYNOPSIS

       #include <time.h>

       int clock_getcpuclockid(pid_t pid, clockid_t *clock_id);

       Effectuez l’édition des liens avec l’option -lrt.

   Exigences de  macros  de  test  de  fonctionnalités  pour  la  glibc  (voir
   feature_test_macros(7)) :

       clock_getcpuclockid(): _XOPEN_SOURCE >= 600

       La  fonction  clock_getcpuclockid()  obtient l’identifiant de l’horloge
       CPU du  processus  dont  l’identifiant  est  pid  et  le  renvoie  dans
       l’emplacement  pointé par clock_id. Si pid est nul, alors l’identifiant
       de l’horloge CPU du processus appelant est renvoyé.

VALEUR RENVOYÉE

       En cas de réussite, clock_getcpuclockid() renvoie 0. En  cas  d’erreur,
       elle renvoie un numéro d’erreur positif.

ERREURS

       ENOSYS Le  noyau  ne  permet  pas  d’obtenir  l’horloge  CPU d’un autre
              processus et pid ne correspond pas au processus appelant.

       EPERM  L’appelant n’a pas les permissions pour accéder à l’horloge  CPU
              du  processus  indiqué  par  pid.  (Spécifiée  comme  une erreur
              optionnelle dans POSIX.1-2001 ; elle  ne  se  produit  pas  sous
              Linux  à  moins que le noyau ne permette pas d’obtenir l’horloge
              CPU d’un autre processus)

       ESRCH  Il n’y a pas de processus ayant pour identifiant pid

VERSIONS

       La fonction clock_getcpuclockid() est disponible dans la  glibc  depuis
       la version 2.2.

CONFORMITÉ

       POSIX.1-2001.

NOTES

       Un  appel à clock_gettime(2) avec l’identifiant d’horloge obtenu par un
       appel à clock_getcpuclockid() avec un  pid  de  0  revient  à  utiliser
       l’identifiant d’horloge CLOCK_PROCESS_CPUTIME_ID.

EXEMPLE

       Le  programme  d’exemple  ci-dessous obtient l’identifiant de l’horloge
       CPU du  processus  dont  l’identifiant  est  fourni  sur  la  ligne  de
       commande,  puis  utilise clock_gettime(2) pour obtenir l’heure de cette
       horloge. Un exemple d’exécution suit :

           $ ./a.out 1                 # Show CPU clock of init process
           CPU-time clock for PID 1 is 2.213466748 seconds

   Source du programme

       #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>\n", 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\n",
                argv[1], (long) ts.tv_sec, (long) ts.tv_nsec);
           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       clock_getres(2), timer_create(2), pthread_getcpuclockid(3), time(7)

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite  par Alain Portal <aportal AT
       univ-montp2  DOT   fr>   en   2008,   et   mise   à   disposition   sur
       http://manpagesfr.free.fr/.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».