TIME(1) | General Commands Manual | TIME(1) |
time - Lancer des programmes et résumer l'utilisation des ressources du système
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.
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 :
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
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.
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.
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.
tcsh(1), printf(3)
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 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.
Debian GNU/Linux |