TIME(1)

NOM
time - Lancer des programmes et résumer l'utilisation des ressources du système

SYNOPSIS

time
    [ -apqvV ] [ -f FORMAT ] [ -o FICHIER ]
    [ --append ] [ --verbose ] [ --quiet ] [ --portability ]
    [ --format=FORMAT ] [ --output=FICHIER ] [ --version ]
    [ --help ] COMMANDE [ PARAMS ]

DESCRIPTION
time lance un programme COMMANDE avec des paramètres PARAM... donnés. Quand COMMANDE se termine, time affiche des informations sur les ressources utilisées par COMMANDE (par défaut, sur la sortie d'erreur standard). Si COMMANDE quitte avec un autre retour que zéro, time affiche un message d'avertissement et le code de retour.

time détermine les informations à afficher sur les ressources utilisées par la COMMANDE à partir de la chaîne FORMAT. Si aucun format n'est indiqué sur la ligne de commande mais que la variable d'environnement TIME est positionnée, sa valeur est utilisée pour le format. Sans cela, un format par défaut interne à time est utilisé.

Les otpions de time doivent apparaître sur la ligne de commande avant COMMANDE. Tout ce qui vient après COMMANDE sur la ligne de commande est un paramètre de COMMANDE.

OPTIONS

-o FICHIER, --output=FICHIER
    Écrire les statistiques de l'utilisation des ressources dans FICHIER au lieu du flux de la sortie standard. Par défaut, cela écrase le fichier, détruisant son contenu précédent. Cette option sert à récupérer des informations sur des programmes interactifs ou qui produisent un affichage sur la sortie d'erreur standard.

-a, --append
    Mettre les informations de l'utilisation des ressources à la fin du fichier de sortie au lieu de l'écraser. Cette option n'est utile qu'avec l'option « -o » ou « --output ».

-f FORMAT, --format FORMAT
    Utiliser FORMAT comme chaîne de formatage pour contrôler l'affichage de time. Voir les informations ci-dessous.

--help
    Afficher un résumé des options de la ligne de commande et quitter.

-p, --portability
    Utiliser la chaîne de format suivante conformément au standard POSIX 1003.2 :
              real %e
              user %U
              sys %S

-v, --verbose
    Utiliser le format d'affichage interne qui affiche toute les informations disponibles sur l'utilisation des ressources par le programme sur une ligne dédiée, avec une description en anglais de sa signification.

--quiet
    Ne pas renvoyer l'état du programme même s'il n'est pas zéro.

-V, --version
    Afficher le numéro de version de time et quitter.

FORMATAGE DE LA SORTIE
La chaîne de format FORMAT contrôle le contenu de la sortie de time. La chaîne de format peut être définie en utilisant les options « -f » ou « --format », « -v » ou « --verbose », « -p » ou « --portability ». Si elles ne sont pas données mais si la variable d'environnement « TIME » est positionnée, sa valeur est utilisée pour le formatage. Sans cela, un format par défaut interne à time est utilisé. Le format par défaut est :
  %Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
  %Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps

La chaîne de formatage consiste généralement dans des « spécificateurs de ressource » interprétés en texte brut. Un signe pour-cent (« % ») dans la chaîne de formatage fait interpréter les caractères consécutifs comme un spécificateur de ressource, ce qui revient aux caractères de formatage de la fonction printf(3).

Une barre oblique inversée (« \ ») introduit une séquence d'échappement traduite en un seul caractère affichable sur la sortie. « \t » génère une tabulation, « \n » un retour à la ligne, « \\ » une barre oblique inversée. Une barre oblique inversée suivie d'un autre caractère affiche un point d'interrogation (« ? ») suivi d'une barre oblique pour indiquer qu'une séquence d'échappement non valide a été donnée.

Tout autre texte dans la chaîne de formatage est copié tel quel sur la sortie. time affiche toujours un retour à la ligne après les informations sur l'utilisation des ressources, donc en principe, les chaînes de formatage ne se terminent pas par un caractère de retour à la ligne (« \n »).

Il existe de nombreuses spécifications des ressources. Toutes les ressources ne sont pas examinées par toutes les versions d'Unix, donc certaines valeurs pourraient renvoyer zéro. Tout caractère après un signe pour-cent non listé dans le tableau ci-dessous affiche un point d'interrogation (« ? ») suivi du caractère, pour indiquer qu'un spécificateur de ressource non valide a été fourni.

Les spécificateurs de ressources, qui vont plus loin que ceux reconnus par la commande « time » de tcsh(1), sont :
    %   Un signe « % » littéral.
    C   Nom et arguments de la ligne de commande de la commande à examiner.
    D   Taille moyenne des données non partagées du processus, en kilooctets.
    E   Temps réel (de la pendule) mis par le processus, en [heures:]minutes:secondes.
    F   Nombre d'erreurs majeures ou exigeant une E/S qui se sont produites durant l'exécution du processus. Il s'agit d'erreurs par lesquelles la page est sortie de la mémoire primaire.
    I   Nombre d'entrées dans le système de fichiers par le processus.
    K   Mémoire moyenne (donnée + pile + code) utilisée par le processus, en kilooctets.
    M   Taille maximale du processus en mémoire physique durant son exécution, en kilooctets.
    O   Nombre de sorties du système de fichiers par le processus.
    P   Pourcentage du processeur utilisé par ce processus. Il s'agit des temps utilisateur + système divisés par le temps total d'exécution. Il affiche aussi un signe de pourcentage.
    R   Nombre d'erreurs de pages mineures ou rattrapables. Ce sont les erreurs où des pages ne sont plus valides (et donc sont des erreurs), mais n'ont pas encore été remplacées par d'autres pages virtuelles. Les données y sont encore présentes et seules les tables système doivent être mises à jour.
    S   Nombre total de secondes-CPU passées par le système du fait du processus (en mode noyau).
    U   Nombre total de secondes-CPU passées directement par le processus (en mode utilisateur).
    W   Nombre de fois où le processus a été envoyé sur la mémoire de swap.
    X   Taille moyenne du code partagé du processus, en kilooctets.
    Z   Taille de page du système, en octets. Cela est une constante sur un système, mais varie de système en système.
    c   Nombre de fois où le processus a été préempté involontairement (sa tranche de temps ayant expiré).
    e   Temps réel (sur la pendule) écoulé consommé par le processus, en secondes.
    k   Nombre de signaux délivrés au processus.
    p   Taille moyenne de la pile non partagée du processus, en kilooctets.
    r   Nombre de messages reçus par le processus sur une socket.
    s   Nombre de messages envoyés par le processus sur une socket.
    t   Taille moyenne du processus en mémoire physique, en kilooctets.
    w   Nombre de fois où le processus a été commuté volontairement, en passant en attente par exemple de la fin d'une entrée-sortie.
    x   Code de retour de la commande.

EXEMPLES
Pour lancer la commande « wc /etc/hosts » et afficher les informations par défaut :
     time wc /etc/hosts

Pour lancer la commande « ls -Fs » et afficher le temps d'utilisateur, du système et total :
     time -f "\t%E real,\t%U user,\t%S sys

Pour éditer le fichier FOFO et que « time » indique le temps écoulé et le nombre de signaux dans le fichier « journal » (log), en lisant la chaîne de formatage depuis la variable d'environnement « TIME » :
     export TIME="\t%E,\t%k" # Si on utilise bash ou ksh
     setenv TIME "\t%E,\t%k" # Si on utilise csh ou tcsh
     time -a -o log emacs fofo

Les utilisateurs de l'interpréteur bash doivent utiliser un chemin explicite pour lancer une commande time externe, et non la variante de la commande interne à l'interpréteur. Sur un système où time est installé dans /usr/bin, le premier exemple deviendrait
     /usr/bin/time wc /etc/hosts

ATTENTION
Le temps écoulé n'est pas calculé de manière atomique pendant l'exécution du programme ; donc dans des circonstances étranges (si la commande time s'est arrêtée ou s'est mélangée entre le temps de fin du programme et celui passé par time à calculer), il pourrait être beaucoup plus important que le temps d'exécution réel.

Quand le temps d'exécution d'une commande est proche de zéro, certaines valeurs (comme le pourcentage de processeur utilisé) pourraient afficher zéro (ce qui est faux) ou un point d'interrogation.

La plupart des informations affichées par time proviennent de l'appel système wait3(2). Les chiffres sont aussi bons que ceux renvoyés par wait3(2). Sur des systèmes n'ayant pas l'appel wait3(2) pour renvoyer des informations d'état, l'appel système times(2) est utilisé à la place. Il fournit toutefois beaucoup moins d'informations que wait3(2), donc sur de tels systèmes, time indique la majorité des informations comme étant de zéro.

Les valeurs « %I » et « %O » sont censées n'être que des entrées et sorties « réelles » et elles n'incluent pas celles fournies par les périphériques de mise en cache. Le sens des valeurs E/S « réelles » indiquées par « %I » et « %O » peut être mélangé sur les stations de travail, surtout celles sans disque.

DIAGNOSTICS
La commande time signale quand le programme quitte, s'arrête ou quand un signal de fin lui est envoyé. Si le programme quitte normalement, le code de retour de time est celui du programme exécuté et analysé. Sinon, le code de retour est 128 et le numéro du signal qui a arrêté ou terminé le programme.

AUTEUR
time a été écrit par David MacKenzie. Cette page de manuel a été ajoutée par Dirk Eddelbuettel <edd@debian.org>, le responsable Debian GNU/Linux, pour une utilisation dans la distribution Debian GNU/Linux, mais elle peut bien sûr être utilisée pour les autres.

VOIR AUSSI
tcsh(1), printf(3)

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@debian.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.