Comando killall no Linux (envia sinais) [Guia Básico]

O Comando killall no Linux envia sinais para os processos e recebe como parâmetro não o PID do processo, mas seu nome. Ele é usado geralmente para terminar a execução de processos que possuem diversos processos filhos executando ao mesmo tempo. 

Se nenhum sinal específico for passado como parâmetro, o killall irá enviar o sinal TERM (15) para terminar o processo de forma elegante.

Neste exemplo o killall força o servidor de web identificado pelo nome httpd correspondente aos processos 1952, 1953 e 1954 a lerem novamente o seu arquivo de configuração:

$ ps aux | grep httpd
wwwrun 1952 0.0 1.7 93232 2248 ? S 16:15 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
wwwrun 1953 0.0 1.7 93232 2248 ? S 16:15 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
wwwrun 1954 0.0 1.7 93232 2248 ? S 16:15 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
# killall –HUP httpd

Para terminar abruptamente o serviço de web abortando todos os processos httpd:

# killall –9 httpd

Diferença do kill e killall

É importante que você entenda a diferença dos comandos kill e killall. O primeiro envia sinais para um ou mais processos identificados pelo PID. O segundo envia sinais para todos os processos na fila de execução que possuem um determinado nome. 

Os sinais enviados pelo kill e pelo killall podem ser passados pelo nome ou pelo número inteiro correspondente.

O comando killall é muito parecido com o comando pgrep.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe