De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

pgrep - localizar ou enviar sinais a processos com base em sua identificação

Colaboração: Rubens Queiroz de Almeida

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

Geralmente, quando precisamos localizar algum processo no sistema emitimos um comando como:

  $ ps -ef | grep apache
  root      4586     1  0 Sep29 ?        00:00:01 /usr/sbin/apache2 -k start
  www-data 22661  4586  0 07:36 ?        00:00:00 /usr/sbin/apache2 -k start
  www-data 22662  4586  0 07:36 ?        00:00:00 /usr/sbin/apache2 -k start
  www-data 22663  4586  0 07:36 ?        00:00:00 /usr/sbin/apache2 -k start
  www-data 22664  4586  0 07:36 ?        00:00:00 /usr/sbin/apache2 -k start
  www-data 22665  4586  0 07:36 ?        00:00:00 /usr/sbin/apache2 -k start
  queiroz  26855 26735  0 12:17 pts/16   00:00:00 grep --colour=auto apache

Se eu estou interessado apenas no id do processo, eu tenho que fazer mais uma operação.

Poucos conhecem o comando pgrep, que faz exatamente isto, de forma mais simplificada:

  $ pgrep -f apache
  4586
  22661
  22662
  22663
  22664
  22665

Mas não é apenas isto. Posso fazer busca também por nome de usuário:

  $ pgrep -u root sshd
  3195

O comando abaixo irá listar todos os processos de propriedade dos usuários root e daemon.

  $ pgrep -u root,daemon

A diretiva "-l" lista, juntamente com o PID, o nome do processo:

  pgrep -l apache
  4586 apache2
  22661 apache2
  22662 apache2
  22663 apache2
  22664 apache2
  22665 apache2

Podemos fazer também uma busca por processos que não coincidam com um padrão:

  pgrep -v apache

O comando acima irá listas os ids de todos os processos que não sejam o apache.

Para saber mais, consulte a man page do comando pgrep:

  man pgrep

O comando pgrep faz parte do pacote procps, que inclui também os comandos kill, ps, tload, slabtop, pwdx, top, pgrep, skill, pmap, vmstat, uptime, w.procps, free, watch, sysctl, snice e pkill.

O comando pgrep é de autoria de Kjetil Torgrim Homme e Albert Cahalan, que é o atual mantenedor.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


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