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

NOM
times - Obtenir les statistiques temporelles du processus
SYNOPSIS
#include <sys/times.h>
clock_t times(struct tms *buf);
DESCRIPTION
La fonction times() stocke les durées statistiques du processus en cours dans la structure struct tms
pointée par buf. La structure struct tms est définie ainsi dans <sys/times.h> :
struct tms {
clock_t tms_utime; /* durée utilisateur */
clock_t tms_stime; /* durée système */
clock_t tms_cutime; /* durée utilisateur des fils */
clock_t tms_cstime; /* durée système des fils */
Le champ tms_utime contient le temps CPU écoulé en exécutant les instructions du processus appelant. Le
champ tms_stime contient le temps CPU passé dans les fonctions système exécutées pour le compte du
processus appelant. Le champ tms_cutime contient la somme des valeurs de tms_utime et tms_cutime pour
tous les processus fils terminés ayant été attendus. Le champ tms_cstime contient la somme des valeurs de
tms_stime et tms_cstime pour tous les processus fils terminés ayant été attendus.
Les durées des processus fils terminés (et de leurs descendants) sont ajoutées au moment où wait(2) ou
waitpid(2) renvoient leur numéro de PID. En particulier, les durées des petits-fils que le fils n'a pas
attendu ne sont jamais vues.
Toutes les durées sont exprimées en tops d'horloge.
VALEUR RENVOYÉE
times() renvoie le nombre de tops d'horloge écoulés depuis un instant arbitraire dans le passé. Cette
valeur peut déborder de l'intervalle contenu dans un clock_t. En cas d'erreur (clock_t) -1 est renvoyé et
errno contient le code d'erreur.
ERREURS
EFAULT tms pointe en dehors de l'espace d'adressage du processus.
CONFORMITÉ
SVr4, BSD 4.3, POSIX.1-2001.
NOTES
Le nombre de tops d'horloge par seconde peut être obtenu en utilisant :
sysconf(_SC_CLK_TCK);
Dans POSIX.1-1996, le symbole CLK_TCK (défini dans <time.h>) est indiqué en voie d'obsolescence. Il est
désormais obsolète.
Sous les noyaux Linux antérieurs à 2.6.9, si le traitement de SIGCHLD est configuré avec SIG_IGN alors
les durées des enfants terminés sont automatiquement incluses dans les champs tms_cstime et tms_cutime,
bien que POSIX.1-2001 précise que ceci ne doit se produire que si le processus appelant a fait un wait(2)
pour ses enfants. Cette non conformité est corrigée depuis Linux 2.6.9.
Sous Linux, l'argument buf peut être NULL, auquel cas times() renvoie simplement son résultat. Cependant,
ce comportement n'est pas spécifié par POSIX, et la plupart des implémentations requièrent une valeur non
NULL de buf.
Notez que clock(3) renvoie aussi des valeurs de type clock_t, mais cette valeur est mesurée en unités de
CLOCKS_PER_SEC, pas en tops d'horloge utilisés par times().
Sous Linux, « l'instant arbitraire dans le passé » à partir duquel la valeur renvoyée par times() est
mesuré a varié suivant les versions du noyau. Sous Linux 2.4 et précédents, il s'agit du démarrage du
système. Depuis Linux 2.6, cet instant est (2^32/HZ) - 300 (c'est-à-dire, à peu près 429 millions)
secondes avant le démarrage du système. Cette variabilité à travers les versions du noyau (et à travers
les implémentations UNIX) combinée avec le fait que la valeur renvoyée peut déborder de la plage de
clock_t, signifie que les applications portables seraient avisées de ne pas utiliser cette valeur. Pour
mesurer les modifications d'un temps écoulé, utilisez plutôt clock_gettime(2).
Historique
SVr1-3 renvoie un long et les membres de la structure sont de type time_t bien qu'ils stockent des tops
d'horloge et pas des secondes depuis l'époque. V7 utilisait des long pour les membres des structures, car
il n'avait pas encore de type time_t.
BOGUES
Une limitation des conventions d'appel système Linux sur certaines architectures (notamment i386) fait
que sous linux 2.6, il y a une petite fenêtre de temps (41 secondes) après le démarrage où times() peut
retourner -1, indiquant à tort qu'une erreur est apparue. Le même problème peut survenir lorsque les
enveloppes de valeurs renvoyées ont passé la valeur maximum qui puisse être stockée dans clock_t.
VOIR AUSSI
time(1), getrusage(2), wait(2), clock(3), sysconf(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/>.
Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal
<http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de
Debian (2006-2009).
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> ».
Linux 22 octobre 2012 TIMES(2)