aix: como ordenar ps por stime?

0

No AIX, para os 10 principais processos de cpu, eu uso

ps aux | head -1; ps aux | sort -rn +2 | head -10

para os 10 principais processos mem

ps aux | head -1; ps aux | sort -rn +3 | head -10

Como posso classificar a saída por tempo?

stime é a coluna 9, mas

ps aux | head -1; ps aux | sort -rn +8 | head -10

me dá este resultado - não classifico por stime

user 14614674  0,0  0,0  168  176  pts/0 T    14:23:23  0:00 cat 
user 13041722  0,0  0,0  168  176  pts/0 T    14:25:59  0:00 cat 
user 12517628  0,0  0,0  168  176  pts/0 T    14:22:26  0:00 cat 
user  9043992  0,0  0,0  168  176  pts/0 T    14:23:13  0:00 cat 
user 14745724  0,0  0,0  168  176  pts/0 T    13:47:11  0:00 cat 
    
por elbarna 03.03.2016 / 14:33

1 resposta

1

+8 (para classificar na parte da linha que começa com o campo 9 th ) ou +8 -9 (para classificar no campo 9 th ) é a sintaxe de especificação de chave de classificação reprovada. Eu recomendaria mudar para a moderna: -k 9 e -k 9,9 .

No seu caso aqui, com -n , a chave de classificação é analisada como um número. Ou seja, a parte da linha que começa no campo 9 th e termina no final da linha é convertida em um número, e é esse número que é usado para classificação.

Isso significa que apenas a parte da hora será considerada.

Para os minutos e segundos a serem considerados, você pode fazer:

ps aux | sort -r -k9n -k9,9

Então, para empates na comparação de horas, faça uma comparação lexical. Se o horário das horas da manhã for escrito como 02:12 e não 2:12 , você poderá fazer apenas sort -rk9 , ou seja, fazer uma comparação léxica.

Note que provavelmente não funcionará se houver processos iniciados ontem ou antes.

    
por 03.03.2016 / 14:46

Tags