Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
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> >>.