GNU/Linux >> Tutoriales Linux >  >> Linux

Guardar en una variable el número de segundos que tardó en ejecutarse un proceso

¿Quiere poner este código en su secuencia de comandos o hacerlo desde el proceso que inicia la secuencia de comandos?

Para este último, puede usar la palabra reservada "tiempo" y luego analizar lo que devuelve para obtener cuánto tiempo toma un script.

Si desea hacer esto desde dentro de un script, puede establecer la variable SEGUNDOS en cero, y cada vez que haga referencia a esa variable, se actualizará para que sea el número de segundos transcurridos. Por lo tanto, puede poner "SEGUNDOS =0" al comienzo de su secuencia de comandos, y siempre que necesite el tiempo transcurrido, estará en la variable SEGUNDOS.

También puede usar el truco $SECONDS en la línea de comandos, por ejemplo:

$ SECONDS=0; sleep 5 ; echo "that took approximately $SECONDS seconds"

La palabra de tiempo reservado y la variable SEGUNDOS están documentadas en la página de manual de bash.


Esto funciona en Bash y también en Zsh:

# Set time format to seconds
TIMEFORMAT=%R
# Time a process
PROC_TIME=$(time (insert command here >/dev/null 2>&1) 2>&1)
echo $PROC_TIME
  • Las dos primeras redirecciones ocultan la salida de su proceso ">/dev/null 2>&1"
  • Se necesita la última redirección porque "time" imprime la hora en stderr

Linux
  1. ¿Cómo obtener la hora de inicio de un proceso de Linux de larga duración?

  2. ¿Cómo hago para que mi servidor web Golang se ejecute en segundo plano?

  3. ¿Cómo puedo contar la cantidad de caracteres en una variable Bash?

  4. Cronometrar el tiempo de ejecución de múltiples comandos

  5. ¿Cómo puedo obtener la hora del reloj de pared de un proceso en ejecución?

¿El valor máximo de la identificación del proceso?

¿Cómo se calcula el número de marca de tiempo en /etc/shadow?

¿El indicador de hora no muestra la fecha/hora?

¿Existe un comando en Linux para saber el número de procesador en el que se carga un proceso?

Si conozco el número PID de un proceso, ¿cómo puedo obtener su nombre?

Ejecute AVD y VirtualBox al mismo tiempo