você está aqui: Home  → Arquivo de Mensagens

ps - Listagem de processos

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 01 de outubro de 2015

Para listar todos os processos que não pertencem ao usuário que emitiu o comando, digite:

  ps -aux | grep -v `whoami`

O comando whoami lista a identidade do usuário que estiver logado:

  $ whoami
  queiroz

Indo um pouquinho mais longe, vamos listar os processos que não pertencem ao usuário logado, ordenando por uso de cpu:

  ps aux  --sort=-%cpu | grep -m 11 -v `whoami` 
  USER  PID %CPU %MEM    VSZ   RSS TTY  STAT START   TIME COMMAND
  root 1493  1.4  0.7 537820 63780 tty8 Ssl+ 21:03   0:44 /usr/bin/X :0 
  root   67  0.2  0.0      0     0 ?    S    21:03   0:07 [kworker/u8:1]
  root 4460  0.1  0.0      0     0 ?    S    21:37   0:01 [kworker/u8:3]
  root 6435  0.1  0.0      0     0 ?    S    21:46   0:00 [kworker/u8:0]
  root 7605  0.1  0.0      0     0 ?    S    21:52   0:00 [kworker/u8:2]
  root    1  0.0  0.0  37616  6932 ?    Ss   21:03   0:01 /sbin/init
  root    2  0.0  0.0      0     0 ?    S    21:03   0:00 [kthreadd]
  root    3  0.0  0.0      0     0 ?    S    21:03   0:00 [ksoftirqd/0]
  root    5  0.0  0.0      0     0 ?    S<   21:03   0:00 [kworker/0:0H]
  root    7  0.0  0.0      0     0 ?    S    21:03   0:02 [rcu_sched]

A diretiva -m 11 indica o número de linhas a serem listadas pelo comando grep. Como a primeira linha contém os títulos das colunas, para que eu tenha a listagem de dez processos, eu preciso fornecer o número 11 como argumento para esta diretiva. A diretiva "-v" sinaliza ao comando grep para listar todas as ocorrências do texto exceto a string fornecida, no nosso caso, listar todos os processos com exceção dos processos de propriedade do usuário que emitiu o comando, identificado pelo comando whoami.

Referência: Linux tips every geek should know



Veja a relação completa dos artigos de Rubens Queiroz de Almeida

 

 

Opinião dos Leitores

Arnaldo Mandel
01 Out 2015, 10:18
Essa é uma solução simples, elegante, mas errada. Funciona bem com um username como queiroz, mas é um desastre com usernames mais curtos, que podem ocorrer como substrings de linhas de comando ou até de outros usernames. Onde trabalho tem usernames am, ro, is, lf, bel, sw, e por aí vai.

É preciso eliminar só as linhas em que o username aparece no primeiro campo. É natural usar o awk prá extrair esse campo e imprimir as linhas certas. Mas dá para fazer com grep, lembrando que o campo começa a linha e é seguido de um espaço:

ps aux | grep -v ^`whoami`' '

*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script