Pesquisa de site

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.

Artigos relacionados: