KILLALL(1) Comandos de usuário KILLALL(1)

killall - mata processos por nome

killall [-Z, --context pattern] [-e, --exact] [-g, --process-group] [-i, --interactive] [-n, --ns PID] [-o, --older-than TIME] [-q, --quiet] [-r, --regexp] [-s, --signal SIGNAL-SIGNAL] [-u, --user user] [-v, --verbose] [-w, --wait] [-y, --younger-than TIME] [-I, --ignore-case] [-V, --version] [--] name ...
killall -l
killall -V, --version

killall envia um sinal para todos os processos que executam qualquer um dos comandos especificados. Se nenhum nome de sinal for especificado, SIGTERM será enviado.

Os sinais podem ser especificados pelo nome (por exemplo, -HUP ou -SIGHUP) ou por número (por exemplo, -1) ou pela opção -s.

Se o nome do comando não for uma expressão regular (opção -r) e contiver uma barra (/), os processos que executam aquele arquivo específico serão selecionados para eliminação, independente de seu nome.

killall retorna um código de retorno zero se pelo menos um processo foi eliminado para cada comando listado, ou nenhum comando foi listado e pelo menos um processo correspondeu aos critérios de pesquisa -u e -Z. killall retorna diferente de zero, caso contrário.

Um processo killall nunca se mata (mas pode matar outros processos killall).

-e, --exact
Requer uma correspondência exata para nomes muito longos. Se um nome de comando tiver mais de 15 caracteres, o nome completo pode não estar disponível (ou seja, foi trocado). Nesse caso, killall matará tudo o que corresponder aos primeiros 15 caracteres. Com -e, essas entradas são ignoradas. killall imprime uma mensagem para cada entrada ignorada se -v for especificado além de -e.
-I, --ignore-case
Faz correspondência de nomes de processo sem diferenciar maiusculização de minúsculo.
-g, --process-group
Mata o grupo de processos ao qual o processo pertence. O sinal de eliminação é enviado apenas uma vez por grupo, mesmo se vários processos pertencentes ao mesmo grupo de processos forem encontrados.
-i, --interactive
Pede confirmação interativamente antes de matar.
-l, --list
Lista todos os nomes de sinal conhecidos.
-n, --ns
Compara com o espaço de nomes do PID ao PID fornecido. O padrão é corresponder a todos os espaço de nomes.
-o, --older-than
Corresponde apenas aos processos que são mais antigos (iniciados antes) da hora especificada. O tempo é especificado como um flutuante e depois como uma unidade. As unidades são s,m,h,d,w,M,y para segundos, minutos, horas, dias, semanas, meses e anos, respectivamente.
-q, --quiet
Não reclama se nenhum processo tiver sido eliminado.
-r, --regexp
Interpreta o padrão do nome do processo como uma expressão regular estendida POSIX, por regex(3).
-s, --signal, -SIGNAL
Envia este sinal ao invés de SIGTERM.
-u, --user
Mata apenas os processos que o usuário especificado possui. Os nomes dos comandos são opcionais.
-v, --verbose
Relata se o sinal foi enviado com sucesso.
-V, --version
Exibe informação da versão.
-w, --wait
Aguarda todos os processos eliminados morrerem. killall verifica uma vez a cada segundo se algum dos processos eliminados ainda existe e só retorna se nenhum sobrar. Observe que killall pode esperar para sempre se o sinal for ignorado, não tiver efeito ou se o processo permanecer no estado zumbi.
-y, --younger-than
Corresponde apenas aos processos que são mais recentes (iniciados após) o tempo especificado. O tempo é especificado como um flutuante e depois como uma unidade. As unidades são s,m,h,d,w,M,y para segundos, minutos, horas, dias, semanas, meses e anos, respectivamente.
-Z, --context
Specify security context: kill only processes having security context that match with given extended regular expression pattern. Must precede other arguments on the command line. Command names are optional.

/proc
local do sistema de arquivos proc

Matar por arquivo só funciona para executáveis que são mantidos abertos durante a execução, ou seja, executáveis impuros não podem ser matados dessa maneira.

Esteja avisado que digitar killall nome pode não ter o efeito desejado em sistemas não Linux, especialmente quando feito por um usuário privilegiado.

killall -w não detecta se um processo desaparece e é substituído por um novo processo com o mesmo PID entre as varreduras.

Se os processos mudarem de nome, killall pode não ser capaz de correspondê-los corretamente.

killall tem um limite de nomes que podem ser especificados na linha de comando. Este número é o tamanho de um inteiro longo sem sinal multiplicado por 8. Para a maioria dos sistemas de 32 bits, o limite é 32 e, da mesma forma, para um sistema de 64 bits, o limite é geralmente 64.

kill(1), fuser(1), pgrep(1), pidof(1), pkill(1), ps(1), kill(2), regex(3).
2021-01-11 psmisc