Comando killall do Linux
Nos sistemas operacionais do tipo Unix, o comando killall finaliza forçosamente os processos especificados pelo nome.
Este documento descreve a versão GNU / Linux do killall .
Descrição
killall envia um sinal para todos os processos executando qualquer um dos comandos especificados. Se nenhum nome de sinal for especificado, o SIGTERM será enviado.
Os sinais podem ser especificados pelo nome (por exemplo, -HUP ou -SIGHUP ) ou pelo 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 esse arquivo específico serão selecionados para eliminação, independentemente do nome.
killall retorna um código de retorno zero se pelo menos um processo foi eliminado para cada comando listado ou se 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 de killall nunca se mata (mas pode matar outros processos de killall ).
Sintaxe
killall [-Z, - padrão de contexto] [-e, --exact] [-g, --process-group] [-i, --interativo] [-o, - anterior a TIME ] [-q, --quiet] [-r, --regexp] [-s, --sinal de sinal ] [-u, --user user ] [-v, --verbose] [-w, --wait] [-y, - menos que TIME ] [-I, --ignore-case] [-V, --version] [-] nome ...
killall -l
killall -V, - versão
Opções
-e , –exact | Exija uma correspondência exata para nomes muito longos. Se um nome de comando tiver mais de 15 caracteres, o nome completo poderá não estar disponível (ou seja, trocado). Nesse caso, killall matará tudo o que corresponder aos 15 primeiros 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 | Faça a correspondência do nome do processo que não diferencia maiúsculas de minúsculas. |
-g , –process-group | Mate o grupo de processos ao qual o processo pertence. O sinal de interrupção é enviado apenas uma vez por grupo, mesmo que vários processos pertencentes ao mesmo grupo de processos tenham sido encontrados. |
-i , –interativo | Peça interativamente a confirmação antes de matar. |
-l , –list | Listar todos os nomes de sinais conhecidos. |
-o , –olded-than | Corresponda apenas aos processos mais antigos (iniciados antes) com o tempo especificado. O tempo é especificado como um flutuador e depois como uma unidade. As unidades são s , m , h , d , w , M , y por segundos, minutos, horas, dias, semanas, meses e anos, respectivamente. |
-q , –quiet | Não reclame se nenhum processo foi morto. |
-r , –regexp | Interprete o padrão do nome do processo como uma expressão regular estendida. |
-s , –signal | Envie este sinal em vez de SIGTERM . |
-u , –user | O Kill apenas processa o usuário especificado. Os nomes dos comandos são opcionais. |
-v , –verbose | Relate se o sinal foi enviado com sucesso. |
-V , –version | Exibir informações da versão. |
-w , –wait | Aguarde todos os processos mortos morrerem. O killall verifica uma vez por segundo se algum dos processos mortos ainda existe e só retorna se não houver nenhum. Observe que o killall pode esperar para sempre se o sinal for ignorado, não tiver efeito ou se o processo permanecer no estado de zumbi. |
-y , – mais jovem que | Corresponda apenas aos processos mais jovens (iniciados após) o tempo especificado. O tempo é especificado como um flutuador e depois como uma unidade. As unidades são s , m , h , d , w , M , y por segundos, minutos, horas, dias, semanas, meses e anos, respectivamente. |
-Z , –context | (Somente SELinux) Especifique o contexto de segurança: elimine apenas processos com contexto de segurança que correspondam a determinado padrão de expressão regular gasto. Deve preceder outros argumentos na linha de comando. Os nomes dos comandos são opcionais. |
Bugs conhecidos
Matar por arquivo funciona apenas para executáveis que são mantidos abertos durante a execução, ou seja, executáveis impuros não podem ser mortos dessa maneira.
Esteja avisado de que a digitação do nome killall pode não ter o efeito desejado em sistemas não Linux, especialmente quando feito por um usuário privilegiado.
O killall -w não detecta se um processo desaparece e é substituído por um novo processo com o mesmo PID entre as verificações.
Se os processos mudarem de nome, o killall poderá não conseguir correspondê-los corretamente.
O killall possui um limite de nomes que podem ser especificados na linha de comando. Esta figura é o tamanho de um longo não assinado 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.
Exemplos
killall UnResponsiveProg
Finalize o processo chamado ” UnResponsiveProg “.
killall -I unresponsiveprog
Encerre qualquer processo que corresponda à cadeia ” unresponsiveprog “, ignorando a diferença entre letras maiúsculas e minúsculas.
Comandos relacionados
kill – envia um sinal para um processo, afetando seu comportamento ou matando-o.
ps – Relate o status de um processo ou processos.