Como classificar a saída ps por hora de início do processo?


Respostas:


87

Isso deve funcionar no Linux e SysV5

ps -ef --sort=start_time

Isso funciona exatamente como solicitado, obrigado. Depois de mais de escavação não estou certo de que isso é possível no Mac OS sem um pouco de awk
Dean Smith

11
start_time funcionou. Comecei não. RHEL
Felipe Alvarez,

11
como reverter a ordem?
Phu Nguyen

2
@PhuNguyen chegou um pouco atrasado para a festa, mas talvez alguém tenha uma utilidade para isso. Você pode reverter a ordem canalizando a saída tac.
Paul

11
@Stephane tente isso:watch "ps -ef --sort=start_time | grep -v kworker | tail"
Sekenre

11

Linux:

$ ps aux --sort=lstart 

OSX:

$ ps aux -O started

2
Receio que nenhum desses tipos no horário de início. Ele exibe a hora de início, mas não classifica.
Dean Smith

2
A diferença entre lstart e start_time também me chamou a atenção - lstartfornece um carimbo de data / hora completo, mas não pode ser usado como uma chave de classificação. start_timefornece a coluna "hora das últimas 24 horas, data diferente" e pode ser usada como uma chave de classificação. Ambos dão 'INICIADO' no cabeçalho.
LHMathies

tempo na última hora: se um processo foi lançado ontem, mais tarde que hoje, aparecerá após o processo de hoje ... não pode ser usado por classificação, a menos que um pouco de "awk" mude isso
Olivier Dulac

@ OlivierDulac: não para mim. 15/12 15:40aparece antes 16/12 15:39, assim como 13:39aparece antes 15:38.
Gauthier

11
Comecei não funcionou para mim. start_time fez.
Felipe Alvarez

5

Juntamente com as ótimas respostas acima, às vezes eu só quero ver os 20 principais infratores por processos classificados em ordem decrescente por tempo,% de 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 tenha desfrutado dos mesmos resultados no Fedora também.

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

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

--sortde psnão funciona para mim. Confiando na concha sort. +1
kellogs

3

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


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]*; )

Mostra a data / hora na época, os procs mais recentes na parte superior.


isso só mostra os PIDs
Elig

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.