Loading

NOM

       getrusage - Lire l’utilisation des ressources

SYNOPSIS

       #include <sys/time.h>
       #include <sys/resource.h>

       int getrusage(int who, struct rusage *usage);

       getrusage() renvoie la mesure de l’utilisation des ressources pour who,
       qui peut valoir une des valeurs suivantes :

       RUSAGE_SELF
              Renvoyer les statistiques d’utilisation des ressources  pour  le
              processus  appelant, ce qui correspond à la somme des ressources
              utilisées par tous les threads du processus.

       RUSAGE_CHILDREN
              Renvoyer les statistiques d’utilisation des ressources pour tous
              les processus fils du processus appelant qui se sont terminés et
              dont la fin a été  attendue  (avec  wait(2)).  Ces  statistiques
              incluront  les  ressources  utilisées par les petits-enfants, et
              autres descendants déjà  retirés  si  tous  les  descendants  en
              question ont attendu la fin de leurs enfants.

       RUSAGE_THREAD (depuis Linux 2.6.26)
              Renvoyer les statistiques d’utilisation des ressources du thread
              appelant.

       L’utilisation des ressources est renvoyée dans la structure pointée par
       usage, qui est de la forme suivante :

           struct rusage {
             struct timeval ru_utime; /* Temps utilisateur écoulé         */
             struct timeval ru_stime; /* Temps système écoulé             */
             long  ru_maxrss;         /* Taille résidente maximale        */
             long  ru_ixrss;          /* Taille de mémoire partagée       */
             long  ru_idrss;          /* Taille des données non partagées */
             long  ru_isrss;          /* Taille de pile                   */
             long  ru_minflt;         /* Demandes de pages                */
             long  ru_majflt;         /* Nombre de fautes de pages        */
             long  ru_nswap;          /* Nombre de swaps                  */
             long  ru_inblock;        /* Nombre de lectures de blocs      */
             long  ru_oublock;        /* Nombre d’écritures de blocs      */
             long  ru_msgsnd;         /* Nombre de messages émis          */
             long  ru_msgrcv;         /* Nombre de messages reçus         */
             long  ru_nsignals;       /* Nombre de signaux reçus          */
             long  ru_nvcsw;          /* Chgmnts de contexte volontaires  */
             long  ru_nivcsw;         /* Chgmnts de contexte involontaires*/
           };

VALEUR RENVOYÉE

       En  cas  de  réussite,  zéro est renvoyé, sinon -1 est renvoyé et errno
       contient le code d’erreur.

ERREURS

       EFAULT usage pointe en dehors de l’espace d’adressage disponible.

       EINVAL who est invalide.

CONFORMITÉ

       SVr4,  BSD 4.3.  POSIX.1-2001  spécifie  getrusage(),   mais   spécifie
       seulement les champs ru_utime et ru_stime.

       RUSAGE_THREAD est spécifique à Linux.

NOTES

       Les  mesures de l’utilisation des ressources sont conservées au travers
       d’un execve(2).

       L’inclusion de <sys/time.h> n’est plus  obligatoire  mais  améliore  la
       portabilité. (En fait, struct timeval est définie dans <sys/time.h>).

       Sous  Linux  avant  la  version  2.6.9, si le traitement de SIGCHLD est
       configuré avec SIG_IGN, les statistiques  d’utilisation  des  processus
       enfants  sont  automatiquement  incluses dans les valeurs renvoyées par
       RUSAGE_CHILDREN, bien que POSIX.1-2001  interdise  explicitement  cela.
       Cette non conformité est corrigée sous Linux 2.6.9 et ultérieurs.

       La  définition  de  structure  du  début de la page provient de BSD 4.3
       Reno. Tous les champs ne sont pas significatifs sous Linux. Sous  Linux
       2.4  seuls  les  champs  ru_utime,  ru_stime, ru_minflt, ru_majflt sont
       remplis.  Depuis  Linux  2.6,  ru_nvcsw  et  ru_nivcsw  sont  également
       remplis.  Depuis  Linux 2.6.22, ru_inblock et ru_oublock sont également
       remplis.

       Consultez aussi la description de /proc/PID/stat dans proc(5).

VOIR AUSSI

       clock_gettime(2), getrlimit(2), times(2), wait(2), wait4(2), clock(3)

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 et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

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