Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       getrusage - Lire l'utilisation des ressources

SYNOPSIS

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

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

DESCRIPTION

       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 a la somme des ressources
              utilisees par tous les processus legers (threads) du processus.

       RUSAGE_CHILDREN
              Renvoyer les statistiques d'utilisation des ressources pour tous
              les processus fils du processus appelant qui se sont termines et
              dont la fin a ete  attendue  (avec  wait(2)).  Ces  statistiques
              incluront  les  ressources  utilisees par les petits-enfants, et
              autres descendants deja  retires  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
              processus leger appelant.

       L'utilisation des ressources est renvoyee dans la structure pointee par
       usage, qui est de la forme suivante :

           struct rusage {
             struct timeval ru_utime; /* Temps CPU utilisateur ecoule     */
             struct timeval ru_stime; /* Temps CPU systeme ecoule         */
             long  ru_maxrss;         /* Taille residente maximale        */
             long  ru_ixrss;          /* Taille de memoire partagee       */
             long  ru_idrss;          /* Taille des donnees non partagees */
             long  ru_isrss;          /* Taille de pile                   */
             long  ru_minflt;         /* Demandes de pages (soft)         */
             long  ru_majflt;         /* Nombre de fautes de pages (hard) */
             long  ru_nswap;          /* Nombre de swaps                  */
             long  ru_inblock;        /* Nombre de lectures de blocs      */
             long  ru_oublock;        /* Nombre d'ecritures de blocs      */
             long  ru_msgsnd;         /* Nombre de messages IPC emis      */
             long  ru_msgrcv;         /* Nombre de messages IPC recus     */
             long  ru_nsignals;       /* Nombre de signaux recus          */
             long  ru_nvcsw;          /* Chgmnts de contexte volontaires  */
             long  ru_nivcsw;         /* Chgmnts de contexte involontaires*/
           };

       Tous  les  champs  ne  sont  pas  completement remplis ; les champs non
       maintenus sont mis a zero par le noyau (les champs non  maintenus  sont
       fournis  pour assurer la compatibilite avec d'autres systemes, et parce
       qu'ils pourraient un jour etre supportes par Linux). Ces champs ont  la
       signification suivante :

       ru_utime
              Temps  total  passe  en mode utilisateur, mis dans une structure
              timeval (secondes et microsecondes).

       ru_stime
              Temps total passe en mode noyau, mis dans une structure  timeval
              (secondes et microsecondes).

       ru_maxrss (depuis Linux 2.6.32)
              Taille  maximale  de memoire residente utilisee (en kilooctets).
              Pour RUSAGE_CHILDREN, il s'agit de la taille residente  du  fils
              le  plus  grand,  et  non  de  la  taille  residente maximale du
              processus.

       ru_ixrss (non maintenu)
              Ce champ n'est actuellement pas utilise par Linux.

       ru_idrss (non maintenu)
              Ce champ n'est actuellement pas utilise par Linux.

       ru_isrss (non maintenu)
              Ce champ n'est actuellement pas utilise par Linux.

       ru_minflt
              Le nombre d'erreurs de pagination  (page  fault)  sans  activite
              d'entrees-sorties. Ici, cette activite est empechee en reclamant
              une page qui se trouve dans la liste  des  pages  qui  attendent
              d'etre reallouees.

       ru_majflt
              Le    nombre    d'erreurs    de    pagination    avec   activite
              d'entrees-sorties.

       ru_nswap (non maintenu)
              Ce champ n'est actuellement pas utilise par Linux.

       ru_inblock (depuis Linux 2.6.22)
              Le nombre de fois ou le systeme de fichiers  a  du  traiter  des
              entrees.

       ru_oublock (depuis Linux 2.6.22)
              Le  nombre  de  fois  ou le systeme de fichiers a du traiter des
              sorties.

       ru_msgsnd (non maintenu)
              Ce champ n'est actuellement pas utilise par Linux.

       ru_msgrcv (non maintenu)
              Ce champ n'est actuellement pas utilise par Linux.

       ru_nsignals (non maintenu)
              Ce champ n'est actuellement pas utilise par Linux.

       ru_nvcsw (depuis Linux 2.6)
              Le nombre de changements de contexte provoques par un  processus
              qui  abandonne  volontairement  le processeur avant la fin de la
              tranche de  temps  qui  lui  est  devolue  (habituellement  pour
              attendre la disponibilite d'une ressource).

       ru_nivcsw (depuis Linux 2.6)
              Le  nombre de changements de contexte provoques par un processus
              de plus grande priorite qui devient disponible a l'execution, ou
              parce  que le processus actuel a depasse le temps limite qui lui
              etait alloue.

VALEUR RENVOY'EE

       S'il reussit, cet appel systeme renvoie 0. S'il echoue, il  renvoie  -1
       et remplit errno en consequence.

ERREURS

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

       EINVAL who est invalide.

CONFORMIT'E

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

       RUSAGE_THREAD est specifique a Linux.

NOTES

       Les mesures de l'utilisation des ressources sont conservees au  travers
       d'un execve(2).

       L'inclusion  de  <sys/time.h>  n'est  plus obligatoire mais ameliore la
       portabilite. (En fait, struct timeval est definie dans <sys/time.h>).

       Sous Linux avant la version 2.6.9, si  le  traitement  de  SIGCHLD  est
       configure  avec  SIG_IGN,  les statistiques d'utilisation des processus
       enfants sont automatiquement incluses dans les  valeurs  renvoyees  par
       RUSAGE_CHILDREN,  bien  que  POSIX.1-2001 interdise explicitement cela.
       Cette non conformite est corrigee sous Linux 2.6.9 et ulterieurs.

       La definition de la structure fournie au debut de cette  page  provient
       de 4.3BSD Reno.

       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.27 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

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

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/> (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/>  (2003-2006).    Julien
       Cristau et l'equipe francophone de traduction de Debian (2006-2009).

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

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.