Por que os processos raiz não são ordenados quando tento classificar os usuários com base no número de processos em execução?

0

Atualmente estou trabalhando em um ambiente remoto onde gostaria de classificar o número de usuários usando a maioria dos processos com o comando ps. O único problema é; com meu comando atual; o usuário root não é exibido e deve ser exibido. A primeira saída é o que eu estou procurando, o último é o que recebo atualmente.

157 root
 12 apache
 11 brun1992
  4 bb
  2 postfix
  2 hart4492
  2 68
  1 USER
  1 sshd
  1 rpcuser

MEU COMANDO:

 ps -eo user=|sort|uniq -c | head -n 10 | sort -r $1
         9 apache
         6 au6620
         5 ande7941
         4 cwen4344
         4 bb
         3 dagg9715
         2 evan8561
         2 brun1992
         2 alki2221
         1 dbus
    
por BrandonW000 28.02.2017 / 06:22

2 respostas

2

Isso funcionará:

ps -eo user|sort|uniq -c|sort -gr

sort -gr is the key to it.

-g : Sort numerically.

    
por 28.02.2017 / 06:33
0

O problema é que você tem a cabeça antes do tipo. Eu acho que você está tentando encontrar os dez nomes de usuários mais usados. Primeiro, como diz @ rakesh-n, você precisa ordenar numericamente.

Mas o problema é que você obtém uma lista do uniq que é classificada por nome de usuário e, em seguida, você pega os dez primeiros e, depois disso, classifica por contagem. Dê uma olhada no seu exemplo e observe que todos os nomes de usuários começam com a-e

ps -eo user=|sort|uniq -c | sort -r $1 | head -n 10

    
por 04.03.2017 / 08:20