Comando Kill: Como Matar Processos no Linux
Dentro do Linux, as tarefas são chamadas de processos, e cada um deles possui um número de identificação (ID) único. Para encerrar (matar) um processo utilizamos o comando kill. Neste tutorial vamos ensinar como matar processo Linux e melhorar o gerenciamento de seu plano VPS.
Listamos alguns exemplos em que o comando kill pode ser útil:
- Para interromper processos automatizados.
- Para interromper um processo que foi iniciado por acidente.
- Para interromper um processo que está utilizando muita memória.
- Para forçar a parada de qualquer processo em execução no Linux.
- Para interromper um processo sendo executado em segundo plano.
Além de interromper um processo, o comando kill ainda oferece outros recursos. Por exemplo, enviar um sinal. Por padrão, é utilizado o sinal TERM para encerrar o processo.
Como Exibir o ID do Processo no Linux
O comando kill permite que você encerre um processo utilizando seu ID específico, também conhecido como pid. Para mostrar o pid no Linux, execute o comando:
ps
Este comando irá exibir todos os processos disponíveis com um pid. Para criar uma lista mais específica, adicione o comando grep:
ps -ux | grep java
Todos os processos java serão exibidos.
Como Exibir Todos os Sinais do Comando Kill
Existem múltiplos sinais disponíveis no Linux que podem ser utilizados para interromper, encerrar ou pausar processos. O comando pode ser usado como mostrado abaixo:
kill -l
Este comando irá mostrar uma página do manual com diferentes sinais do comando kill e seus respectivos números. Embora existam muitos sinais disponíveis, na maioria das vezes utilizamos o SIGKILL (9) e SIGTERM (15).
Como Matar um Processo no Linux via Terminal
Agora estamos prontos para aprender os diferentes usos do comando kill. Lembre-se que iremos utilizar o terminal para acessar o servidor. Para saber mais, confira nosso tutorial.
Usar o Comando Kill com um PID
Para matar um processo específico com um PID, utilize o seguinte comando:
kill 63772
Neste caso, o número 63772 representa o pid do processo que queremos encerrar. Como nenhum sinal foi especificado, será o sinal SIGTERM. Pode ser que o comando não funcione. Nesses casos é preciso matar o processo de maneira forçada:
kill [sinal ou opção] pid
Abaixo temos um exemplo de comando para forçar o encerramento do processo:
kill SIGKILL 63772
Você também pode utilizar o número do sinal:
kill -9 63772
Não esqueça de substituir o 63772 pelo pid do processo a ser encerrado.
Como Matar Múltiplos Processos
Com o mesmo comando, você pode matar vários processos. A sintaxe fica:
kill -9 pid1 pid2 pid3
Por exemplo:
kill -9 63772 45116 23465
Como Matar um Processo no Linux com o Comando Pkill
O Pkill é uma vertente do comando kill onde você pode especificar o nome do processo ou um padrão para encontrar o processo:
pkill chrome
O comando acima irá matar o navegador chrome. Você também pode especificar parte do nome que seja correspondente:
pkill chr
Porém, este comando possui o risco de encerrar o processo errado, principalmente se existem vários processos com o mesmo nome.
Você pode verificar a lista utilizando o nome completo do processo:
pidof chrome
Este comando pode ser usado quando você sabe o nome completo do processo.
Você pode pesquisar por processos semelhantes com o nome parcial:
pgrep -l chr
Este comando irá listar o processo com o ID correspondente.
Como Matar um Processo no Linux com o Comando Killall
A diferença básica entre os comandos killall e kill é que o killall pode encerrar o processo pelo nome, enquanto o comando kill utiliza o pid.
Um exemplo do comando é:
killall chrome
Este é parecido com o pkill. Entretanto, o killall funciona apenas com o nome exato do comando, e não com nome parcial (como o pkill). Este é um dos motivos pelo qual o killall é mais seguro.
Outra diferença é o pacote root a qual estes comandos pertencem. No Linux, o killall pertence ao pacote psmisc. Já comandos como ps, top, kill e pkill pertencem ao pacote procps.
O killall tambén é diferente por poder ser personalizado para encerrar processos baseado no tempo. Se você deseja encerrar um processo que está executando há menos de 40 minutos, você pode utilizar:
killall -y 40m [nome do processo]
Você também pode utilizar uma das opções abaixo juntamente com o comando killall:
- s – seconds (segundos).
- m – minutes (minutos).
- h – hours (horas).
- d – days (dias).
- w -weeks (semanas).
- M – months (meses).
- y – years (anos).
Resumo
Este tutorial cobre as opções mais importantes do comando kill. Não deixe de conferir o manual do Linux para informações mais detalhadas.
Ficou com alguma dúvida? Possui uma sugestão? Comente abaixo!
Comentários
outubro 03 2019
Top, nego! Parabéns!
junho 18 2022
Pergunta de um iniciante, dei kill em um processo no linux, por exemplo, na aplicação do control - m, pois está travada. Mas agora preciso subir novamente o serviço do control-m, como subir ? qual comando utilizar ? systemctl ? Quais comandos usar ou o sistema sobe automático ? Obrigado
julho 01 2022
O comando
kill -HUP 1
vai recarregar as configurações sem eliminar o processo, o que é o equivalente a reiniciá-lo. Já o comando systemctl é responsável por examinar e controlar o sistema systemd e o gerenciador de serviços. Ele é uma coleção de bibliotecas de gestão, utilidades e daemons que funcionam como um sucessor do System V. Por causa disso, esse comando não vai reiniciar diretamente o processo eliminado ?