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.