ver usuario tiempo procesos proceso medir ejecución ejecucion corriendo comando linux bash process

usuario - ver procesos en linux



¿Cómo obtener la hora de inicio de un proceso Linux de larga duración? (6)

¿Es posible obtener la hora de inicio de un viejo proceso en ejecución? Parece que ps informará la fecha (no la hora) si no se inició hoy, y solo el año si no se inició este año. ¿La precisión se pierde para siempre en los procesos antiguos?


Como seguimiento de la respuesta de Adam Matan , la marca de tiempo del directorio /proc/<pid> como tal no es necesariamente directamente útil, pero puede usar

awk -v RS='')'' ''END{print $20}'' /proc/12345/stat

para obtener la hora de inicio en las marcas de reloj desde el inicio del sistema. 1

Esta es una unidad un poco difícil de usar; ver también convertir jiffies en segundos para más detalles.

awk -v ticks="$(getconf CLK_TCK)" ''NR==1 { now=$1; next } END { print now - ($20/ticks) }'' /proc/uptime RS='')'' /proc/12345/stat

Esto debería darle segundos, que puede pasar a strftime() para obtener una marca de tiempo (legible por el ser humano o de otra manera).

awk -v ticks="$(getconf CLK_TCK)" ''NR==1 { now=$1; next } END { print strftime("%c", systime() - (now-($20/ticks))) }'' /proc/uptime RS='')'' /proc/12345/stat

Actualizado con algunas correcciones de Stephane Chazelas en los comentarios; ¡Gracias como siempre!

Si solo tienes Mawk, tal vez intentes

avk -v ticks="$(getconf CLK_TCK)" -v epoch="$(date +%s)" '' NR==1 { now=$1; next } END { printf "%9.0f", epoch - (now-($20/ticks))) }'' /proc/uptime RS='')'' /proc/12345/stat | xargs -i date -d @{}

1 hombre proc ; buscar hora de inicio


El comando ps (al menos la versión de procps utilizada por muchas distribuciones de Linux) tiene varios campos de formato relacionados con la hora de inicio del proceso, incluido lstart que siempre proporciona la fecha y hora completas del inicio del proceso:

# ps -p 1 -wo pid,lstart,cmd PID STARTED CMD 1 Mon Dec 23 00:31:43 2013 /sbin/init # ps -p 1 -p $$ -wo user,pid,%cpu,%mem,vsz,rss,tty,stat,lstart,cmd USER PID %CPU %MEM VSZ RSS TT STAT STARTED CMD root 1 0.0 0.1 2800 1152 ? Ss Mon Dec 23 00:31:44 2013 /sbin/init root 5151 0.3 0.1 4732 1980 pts/2 S Sat Mar 8 16:50:47 2014 bash

Para una discusión sobre cómo se publica la información en el sistema de archivos / proc, consulte https://unix.stackexchange.com/questions/7870/how-to-check-how-long-a-process-has-been-running

(En mi experiencia en Linux, la marca de tiempo en los directorios / proc / parece estar relacionada con un momento en que se accedió recientemente al directorio virtual en lugar de la hora de inicio de los procesos:

# date; ls -ld /proc/1 /proc/$$ Sat Mar 8 17:14:21 EST 2014 dr-xr-xr-x 7 root root 0 2014-03-08 16:50 /proc/1 dr-xr-xr-x 7 root root 0 2014-03-08 16:51 /proc/5151

Tenga en cuenta que en este caso, ejecuté un comando "ps -p 1" aproximadamente a las 16:50, luego generé un nuevo shell bash, luego ejecuté el comando "ps -p 1 -p $$" dentro de ese shell poco después ... .)


Puede especificar un formateador y usar lstart , como este comando:

ps -eo pid,lstart,cmd

El comando anterior dará salida a todos los procesos, con formateadores para obtener PID, comando ejecutado y tiempo de inicio.

Ejemplo (desde la línea de comandos de Debian / Jessie)

$ ps -eo pid,lstart,cmd PID CMD STARTED 1 Tue Jun 7 01:29:38 2016 /sbin/init 2 Tue Jun 7 01:29:38 2016 [kthreadd] 3 Tue Jun 7 01:29:38 2016 [ksoftirqd/0] 5 Tue Jun 7 01:29:38 2016 [kworker/0:0H] 7 Tue Jun 7 01:29:38 2016 [rcu_sched] 8 Tue Jun 7 01:29:38 2016 [rcu_bh] 9 Tue Jun 7 01:29:38 2016 [migration/0] 10 Tue Jun 7 01:29:38 2016 [kdevtmpfs] 11 Tue Jun 7 01:29:38 2016 [netns] 277 Tue Jun 7 01:29:38 2016 [writeback] 279 Tue Jun 7 01:29:38 2016 [crypto] ...

Puede leer la página de manual de ps o consultar la página de Opengroup para los demás formateadores.


ps -eo pid,cmd,lstart | grep YOUR-PID-HERE


ps -eo pid,etime,cmd|sort -n -k2


ls -ltrh /proc | grep YOUR-PID-HERE

Por ejemplo, el PID de mi Google Chrome es 11583:

ls -l /proc | grep 11583 dr-xr-xr-x 7 adam adam 0 2011-04-20 16:34 11583