GNU/Linux >> Tutoriales Linux >  >> Linux

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

Para un proceso en ejecución, puede hacer esto:

PID=5462
command ps -p "$PID" -o etime
command ps -p "$PID" --no-headers -o etime

Como característica general, puede modificar el indicador de shell. Esta es mi definición de indicador de bash:

TERM_RED_START=$'\033[1m\033[31m'
TERM_RED_END=$'\033(B\033[m'
PS1='\nec:$(ec=$?; if [ 0 -eq $ec ];
then printf %-3d $ec;
else echo -n "$TERM_RED_START"; printf %-3d $ec; echo "$TERM_RED_END";
fi) \t  \[email protected]\h:\w\nstart cmd:> '
PS2="cont. cmd:> "

La parte relevante para ti es el \t por el momento.

Sin embargo, esto no resuelve todos los problemas. El nuevo aviso se mostrará cuando el proceso haya terminado, pero el aviso anterior puede haber sido bastante antiguo cuando se inició el comando que se va a medir. Entonces, recuerda renovar el indicador antes de iniciar comandos de ejecución prolongada o debes recordar la hora actual cuando quieras saber cuánto tiempo habrá tomado el proceso actual.

Para una solución completa, necesita una función de auditoría (que registra la hora de inicio y finalización de los procesos). Pero eso puede causar una gran cantidad de datos si no se puede restringir al shell.


Sobre la base de la respuesta aceptada, también puede monitorear continuamente el tiempo transcurrido de un proceso en ejecución usando watch :

PID=5462
watch command ps -p "$PID" -o etime

Linux
  1. ¿Cómo pasar los argumentos de la línea de comando a un proceso en ejecución en sistemas Unix/Linux?

  2. ¿Cómo obtener la identificación del proceso para eliminar un proceso nohup?

  3. ¿Cómo puedo obtener la carpeta temporal de una máquina que ejecuta maven?

  4. Cómo obtener el tiempo total de funcionamiento de un disco duro

  5. ¿Cómo puedo configurar la afinidad del procesador de un proceso en Linux?

Cómo obtener la fecha y hora actuales en Python

¿Puede el Id. de subproceso de un proceso multiproceso ser el mismo que el Id. de proceso de otro proceso en ejecución?

¿Cómo puedo obtener la fecha y la hora actuales en la terminal y establecer un comando personalizado en la terminal para ello?

¿Cómo puedo saber la ruta absoluta de un proceso en ejecución?

¿Cómo puedo obtener la duración de un archivo de video desde la consola?

¿Cómo obtener solo todos los ID de proceso en ejecución?