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.
Os comandos pgrep e pkill
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 23 de abril de 2010
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.