Como classificar a saída do ps pelo horário de início do processo?

52

Existe uma maneira de classificar a saída do ps pela hora de início do processo, de modo que as mais recentes estão na parte superior ou inferior?

No Linux?

No SysV5?

No Mac?

    
por Dean Smith 18.06.2009 / 11:16

6 respostas

73

Isso deve funcionar no Linux e no SysV5

ps -ef --sort=start_time
    
por 18.06.2009 / 11:28
11

Linux:

$ ps aux --sort=lstart 

OSX:

$ ps aux -O started
    
por 18.06.2009 / 11:21
4

Juntamente com as excelentes respostas acima, às vezes eu só quero ver os 20 principais ofensores por processo classificados descendente por tempo, CPU% e uso de memória.

Para isso eu uso:

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

Isso seria em uma plataforma CentOS, embora eu também tenha desfrutado dos mesmos resultados no Fedora.

Ah, e para sorrisos, eu às vezes quero remover um conjunto de processos, então eu simplesmente uso uma variante acima que inclui um pouco de grev -v action, como:

ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20
    
por 28.04.2010 / 19:16
3

Ainda não posso comentar, mas para responder à pergunta sobre como reverter a ordem de um tempo, basta colocar um sinal de menos ( - ) na frente do campo.
Exemplo: ps -elf --sort=-start_time

    
por 29.11.2016 / 18:10
2

Ou tente "ls", pois permite formatos de hora fáceis de classificar e mais fáceis de usar.

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

Exibe a data / hora na época, as novas procs no topo.

    
por 03.07.2013 / 04:23
0

Experimente o comando simples:

ps | sort -k7 -n

-k7 para a coluna de hora e -n para numérico.

Exemplo

    
por 13.03.2018 / 18:11