Suivre le temps qu'une commande prend sous UNIX / LINUX?


Réponses:


165

Oui, utilisez time <command>, comme

time ls

Consultez man timepour plus d'options. Lien .


4
Et, la signification des temps réel / utilisateur / système est bien couverte ici
prideout

Cette réponse est inexacte pour les utilisateurs de bash sous Linux. La page de manuel documente la commande time de Gnu, mais time est un élément intégré de bash, qui ne contient pas toutes les options documentées.
Ben Crowell

7

Utilisation

/usr/bin/time 

au lieu de cela le temps intégré dans le bash: il est plus configurable AFAIK.

e.g. /usr/bin/time --format=' \n---- \nelapsed time is %e'ls

Pour autant que je sache, c'est par défaut. C'était le cas sur les systèmes CentOS 6, CentOS 7 et Debian 8 que j'ai vérifiés: user@host:~$ which time /usr/bin/time semble être la version 1.7 de GNU.
Toby

4
@Toby: Même si "qui" dit que c'est / usr / bin / time, dans bash, la fonction intégrée remplace cela. Si je le fais time -f "\t%E real" lsen bash, j'obtiens une erreur, mais cela fonctionne si je le fais /usr/bin/time -f "\t%E real" ls.
Ben Crowell

1
Vous avez raison. C'est très intéressant et instructif. Merci!
Toby

1
N'utilisez pas which. Utilisation type -a:$ which time /usr/bin/time $ type -a time time is a shell keyword time is /usr/bin/time
Daniel-Dane

Notez que l'utilisation /usr/bin/timevous empêche d'utiliser les alias bash. Le bash intégré timeest nécessaire pour cela, sinon vous obtiendrez l'erreur cannot run my_alias: No such file or directory.
Jamie S

6

Voici à quoi sleepressemble une seconde, chronométrée avec time:

$ time sleep 1

real    0m1.001s
user    0m0.000s
sys 0m0.000s
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.