Loading

NOM

       times - Obtenir les statistiques temporelles du processus

SYNOPSIS

       #include <sys/times.h>

       clock_t times(struct tms *buf);

       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.

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
       gettimeofday(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 le 1er janvier 1970. 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 clockid_t.

VOIR AUSSI

       time(1), getrusage(2), wait(2), clock(3), sysconf(3), time(7)

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