Isso deve funcionar no Linux e no SysV5
ps -ef --sort=start_time
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?
Linux:
$ ps aux --sort=lstart
OSX:
$ ps aux -O started
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
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
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.
Experimente o comando simples:
ps | sort -k7 -n
-k7
para a coluna de hora e -n
para numérico.