Infra - Linux

Os comandos pgrep e pkill

Quem é usuário antigo de sistemas Unix e derivados, provavelmente já gastou os dedos digitando coisas como: ps -ef | grep rubens. Mas como tudo no mundo do software livre, em que a ordem é simplificar e economizar tempo, veio alguém e criou os comandos pgrep e pkill.

por Rubens Queiroz de Almeida



Quem é usuário antigo de sistemas Unix e derivados, provavelmente já gastou os dedos digitando coisas como:

  ps -ef | grep rubens

Mas como tudo no mundo do software livre, em que a ordem é simplificar e economizar tempo, veio alguém e criou os comandos pgrep e pkill.

Como o nome mesmo indica, pgrep significa process grep, que na verdade é o comando anterior aglutinado em apenas um. Por exemplo, eu quero descobrir os PID (process id) de todos os programas do usuário rubens associados ao Firefox:

  pgrep -u rubens  firefox
  9397

Se eu quiser matar algum processo, eu posso fazê-lo de forma genérica, eliminando todos os processos, de todos os usuários, ou posso também atuar de forma seletiva:

  pkill firefox

ou

  pkill -u rubens firefox

Além de terminar processos, eu posso usar o comando pgrep em combinação com outros. A documentação do programa dá um exemplo interessante, em que o comando pgrep é usado para redefinir a prioridade de um programa:

  renice +4 `pgrep netscape`

O programa netscape irá rodar exigindo menos recursos da máquina, sendo mais nice :-)

Existem diversas possibilidades, mas as mais comuns e úteis são mesmo as que foram apresentadas. Uma outra diretiva bastante útil, é a diretiva "-l", que faz com que o nome completo do processo seja listado juntamente com sua identificação:

  $ pgrep -l ssh
  1407 ssh-agent
  2204 sshd
  8162 ssh

Os programas pgrep e pkill fazem parte do pacote procps e podem ser instalados, em sistemas Debian e derivados, com o comando:

  apt-get install procps

Estes programas são de autoria de Kjetil Torgrim Homme e Albert Cahalan.

Rubens Queiroz de Almeida

Rubens Queiroz de Almeida - Mantenedor do site Dicas-L (http://www.dicas-l.com.br).