Como encerrar processos que não respondem no Linux com kill e pkill
Quer aprender como lidar com um processo que não responde no Linux? Os comandos kill e pkill estão aí para te ajudar.
Lidar com programas que não respondem pode ser uma tarefa complicada, especialmente se você estiver executando em um hardware mais antigo. Nesse caso, o congelamento do sistema se torna um problema comum. Felizmente, existem várias maneiras de eliminar processos que não respondem no Linux.
Os comandos kill e pkill fornecem soluções simples, mas eficazes, para encerrar processos zumbis que não respondem a partir do terminal. As seções abaixo descrevem como matar processos travados no Linux usando kill e pkill.
Terminar processos sem resposta usando kill
O comando kill no Linux permite encerrar processos que não respondem com facilidade. Ele envia um sinal de terminação para o processo. Por padrão, kill envia o sinal SIGTERM, representado pelo sinal número 15. O exemplo a seguir usa kill para interromper um processo com um PID de 27065.
kill 27065
Os usuários podem enviar outros sinais especificando o nome ou número do sinal. Por exemplo, os comandos kill abaixo param um processo zumbi usando o sinal do sistema SIGKILL, representado pelo sinal número 9.
kill -9 27065
kill -SIGKILL 27065
A diferença entre SIGTERM e SIGKILL é que os processos podem capturar e ignorar o sinal SIGTERM. Mas, o SIGKILL é imune ao tratamento de processos e mata programas imediatamente.
Você pode visualizar uma lista de todos os sinais disponíveis usando os comandos kill abaixo.
kill -l
kill -L
No geral, o SIGKILL será mais adequado ao lidar com processos de sistema que não respondem. Por outro lado, o SIGTERM é o caminho a seguir se você deseja encerrar programas interrompidos normalmente.
Matar processos que não respondem usando pkill
O comando pkill facilita o encerramento de processos no Linux, permitindo-nos eliminar programas com base em seus nomes. Por exemplo, o comando abaixo mata o programa nano usando pkill.
pkill nano
Como kill, pkill também envia o sinal SIGTERM por padrão. Use o sinal SIGKILL se desejar interromper o processo sem resposta imediatamente.
pkill -9 nano
Como obter o ID do processo (PID) de um processo
Ter as informações do PID pode ser uma grande ajuda ao encerrar processos que não respondem no Linux. Você pode obter o número PID de um processo de várias maneiras. O comando a seguir recupera o PID de um processo chamado nano usando o comando grep e ps.
ps aux | grep nano
Você também pode usar o comando pgrep, que gera o ID do processo diretamente.
pgrep nano
Gerenciando processos sem resposta no Linux
Os comandos kill e pkill tornam fácil lidar com processos que não respondem no Linux. Tudo o que você precisa para interromper um processo zumbi é seu PID e acesso a um shell. No entanto, você pode precisar de permissões sudo adicionais ao eliminar processos pertencentes a outro usuário. Portanto, se você estiver em um sistema multiusuário, peça ao administrador para adicioná-lo à lista de sudoers antes de executar qualquer ação.