É comum quando estamos trabalhando em um console linux e precisamos matar algum processo, executar um # ps aux | grep [PROGRAMA]
, pegar o PID e executar um # kill [PID]
(ou kill -9 [PID]
). Pois bem, se você ainda não conhece, deixe me falar (escrever) que é possível listar e matar os processos, utilizando para isso o próprio nome do processo. Para isso existem dois comandos encarregados desta tarefa, são eles o pgrep
e o pkill
.
O pgrep
é responsável por pegar os processos em execução e listar seus IDs (PIDs), para isso o critério de seleção deverá ser completamente satisfeito. Por exemplo:
# pgrep httpd
Listará todos os PIDs de processos que tenham o nome httpd
Também é possível passar alguns parâmetros, como o -u
que relaciona processos cujo o UID é efetivamente listado.
O pkill
, por sua vez, enviará o respectivo sinal para cada processo que for listado (por padrão o SIGTERM) conforme o critério de seleção utilizado. Por exemplo:
# pkill -HUP syslogd
Fará com que o syslogd re-leia o arquivo de configuração.
Para maiores informações, consulte a página de manual destes comandos.