Provided by: manpages-fr-dev_3.65d1p1-1_all bug

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);

       Lier avec -lrt (seulement pour les versions de glibc antérieures à 2.17).

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

       clock_getcpuclockid() :
           _XOPEN_SOURCE >= 600 || _POSIX_C_SOURCE >= 200112L

DESCRIPTION

       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 listé dans ERRORS.

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.

ATTRIBUTS

   Multithreading (voir pthreads(7))
       La fonction clock_getcpuclockid() est sûre dans un contexte multithread.

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.65 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

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du  projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Alain Portal <http://manpagesfr.free.fr/> (2008).

       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> ».