82 votos

¿Cómo ordenar la salida ps por la hora de inicio del proceso?

¿Existe una manera de ordenar la salida ps por la hora de inicio del proceso, de manera que los más nuevos estén arriba o abajo?

¿En Linux?

¿En SysV5?

¿En Mac?

116voto

mdhughes Puntos 3805

Esto debería funcionar en Linux y SysV5

ps -ef --sort=start_time

0 votos

Esto funciona exactamente como se pidió, gracias. Después de investigar un poco más, no estoy seguro de que esto sea posible en Mac OS sin un poco de awk

1 votos

Start_time funcionó. lstart no. RHEL

0 votos

ps aux --sort=start_time el comando funciona bien

12voto

rkthkr Puntos 6651

Linux:

$ ps aux --sort=lstart 

OSX:

$ ps aux -O started

3 votos

Me temo que ninguno de esos tipos a la hora de empezar. Muestra la hora de inicio, pero no la clasifica.

4 votos

La diferencia entre lstart y start_time también me sorprendió lstart proporciona una marca de tiempo completa, pero no puede utilizarse como clave de ordenación. start_time da la columna habitual "hora en las últimas 24 horas, fecha en caso contrario", y puede utilizarse como clave de ordenación. Ambas dan 'STARTED' en la cabecera.

0 votos

Tiempo dentro de la última hora: si un proceso fue lanzado ayer a una hora posterior a la de hoy, aparecerá después del proceso de hoy ... no puede ser usado por sort, a menos que un poco de "awk" cambie eso

5voto

Junto con las grandes respuestas anteriores, a veces sólo quiero ver los 20 principales infractores por proceso ordenados de forma descendente por tiempo, cpu% y uso de memoria.

Para eso uso:

ps auxww --sort=lstart | sort -r -k3,4 | head -20

Esto sería en una plataforma CentOS, aunque también he disfrutado de los mismos resultados en Fedora.

Ah, y para sonreír, a veces quiero eliminar un conjunto de procesos, así que simplemente uso una variante de lo anterior que incluye un poco de acción grep -v, como:

ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20

4voto

Barry S Puntos 41

No puedo comentar todavía, pero para responder a la pregunta sobre cómo invertir el orden de una ordenación temporal, basta con poner un signo menos ( - ) frente al campo.
Ejemplo: ps -elf --sort=-start_time

2voto

Jim Black Puntos 181

O pruebe con 'ls', ya que permite formatos de tiempo que son fáciles de ordenar, y más fáciles de usar.

( cd /proc; ls -td --full-time --time-style=+%s [0123456789]*; )

Muestra la fecha/hora en la época, los procesos más nuevos en la parte superior.

0 votos

Esto solo muestra los pids

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: