Como encerrar processos que não respondem no Linux com kill e pkill
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 do terminal. As seções a seguir descrevem como eliminar processos travados no Linux usando kill e pkill.
Encerrar processos sem resposta usando kill
O comando kill no Linux permite que você feche processos que não respondem com facilidade. Ele envia um sinal de término para o processo. Por padrão, 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. Porém, o SIGKILL é imune ao tratamento de processos e elimina programas imediatamente.
Você pode ver 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, SIGTERM é a melhor opção se você deseja encerrar programas travados normalmente.
Elimine processos que não respondem usando pkill
O comando pkill torna o encerramento de processos no Linux mais fácil, permitindo-nos eliminar programas com base em seus nomes. Por exemplo, o comando abaixo mata o programa nano usando pkill.
pkill nano
Como o kill, o pkill também envia o sinal SIGTERM por padrão. Use o sinal SIGKILL se quiser interromper o processo que não responde 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 denominado nano usando o comando grep e ps.
ps aux | grep nano
Você também pode usar o comando pgrep, que exibe o ID do processo diretamente.
pgrep nano
Gerenciando processos sem resposta no Linux
Os comandos kill e pkill facilitam o tratamento de processos que não respondem no Linux. Tudo 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 realizar qualquer ação.