sexta-feira, 23 de abril de 2010

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.

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.

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

[Referencia: http://migre.me/yXxB]

  • rss
  • Del.icio.us
  • Digg
  • Twitter
  • StumbleUpon
  • Reddit
  • Share this on Technorati
  • Post this to Myspace
  • Share this on Blinklist
  • Submit this to DesignFloat

Nenhum comentário:

Postar um comentário