¿Qué hace el comando de tiempo en la terminal zsh Mac? ¿Y cuál es la salida de "niños"?

Esto es lo que obtuve del comando de terminal "tiempo".

shell  0.32s user 0.08s system 0% cpu 6:09.64 total
children  0.10s user 0.16s system 0% cpu 6:09.64 total

¿Qué es niños?

Respuestas (1)

El timeque usa en su pregunta no es un comando, sino una palabra reservada en . Se puede utilizar de dos formas diferentes y se puede personalizar su salida a través del $TIMEFMTparámetro. También hay un comando externo time en macOS, que produce una salida ligeramente diferente.

Justotime

Si lo usa timesolo (como se muestra en su pregunta), su shell actual informará estadísticas de tiempo para sí mismo y sus hijos:

  • shellrepresenta el shell en el que ejecutó su timedeclaración. childrenes un resumen de todos los procesos en ejecución iniciados desde (y aún propiedad de) ese shell.
  • usery systemmuestre la cantidad de segundos de CPU que los procesos anteriores gastaron en modo usuario y modo kernel , respectivamente.
  • cpumuestra los valores combinados de usery system, como porcentaje del tiempo total de CPU. totalmuestra cuánto tiempo hace que se inició el shell o su proceso secundario más antiguo (aquí en minutos:segundos.fracción).

time <command>

Más a menudo, timese agrega antes de un comando. Si lo usa de esa manera, el shell informará las estadísticas de tiempo solo para ese comando:

% time sleep 0
sleep 0  0.00s user 0.00s system 43% cpu 0.007 total
% 

totalaquí está la cantidad de segundos que tardó en completarse el comando.

Personalización timede salida

timeLa salida de se puede personalizar configurando el $TIMEFMTparámetro . Por ejemplo, podemos agregar el uso de memoria:

% TIMEFMT+='  max RSS %M'
% time        
shell  0.22s user 0.10s system 53% cpu 0.601 total  max RSS 6120
children  0.11s user 0.16s system 45% cpu 0.601 total  max RSS 3056
% time sleep 0
sleep 0  0.00s user 0.00s system 61% cpu 0.003 total  max RSS 580
% 

Comando externotime

El comando externo timese puede utilizar de la siguiente manera:

% command time
% command time sleep 0 
        0.00 real         0.00 user         0.00 sys
% command time -p sleep 0 
real         0.00
user         0.00
sys          0.00
% command time -l sleep 0  # Add memory usage
        0.00 real         0.00 user         0.00 sys
              585728  maximum resident set size
                   0  average shared memory size
                   0  average unshared data size
                   0  average unshared stack size
                 160  page reclaims
                   0  page faults
                   0  swaps
                   0  block input operations
                   0  block output operations
                   0  messages sent
                   0  messages received
                   0  signals received
                   0  voluntary context switches
                   1  involuntary context switches
             2198249  instructions retired
             3195521  cycles elapsed
              237568  peak memory footprint
%

realaquí es lo mismo que totalarriba.