Remoção de processos, instalativos, arquivos em processo | Linux
- Remoção de processos, instalativos, arquivos em processo | Linux
Como matar um processo corretamente no Linux
Esta documentação descreve o procedimento correto para encerrar processos, evitando efeitos colaterais como:
- processos zumbis
- arquivos “deleted” ainda abertos
- consumo invisível de CPU, memória ou disco
O objetivo é parar o processo com segurança e validar que nada ficou rodando.
Identificar o processo
Antes de matar qualquer coisa, identifique exatamente o processo alvo.
Listar processos pelo nome
ps aux | grep nome_do_processo
Ou, de forma mais limpa:
pgrep -a nome_do_processo
Ver processos em tempo real
top
ou
htop
Anote:
- PID
- usuário
- comando completo
Encerrar o processo da forma correta
Tentativa 1 — Encerramento gracioso (recomendado)
Envia o sinal SIGTERM, permitindo que o processo finalize corretamente.
kill PID
Ou:
kill -15 PID
Use sempre este método primeiro.
Tentativa 2 — Encerrar pelo nome do processo
Útil quando há múltiplos PIDs.
pkill nome_do_processo
Ou, com confirmação visual:
pkill -f nome_do_processo
Tentativa 3 — Forçar encerramento (último recurso)
Use apenas se o processo não responder ao SIGTERM.
kill -9 PID
Ou:
pkill -9 nome_do_processo
Este método não permite cleanup, podendo gerar:
- arquivos temporários presos
- logs corrompidos
- locks não liberados
Encerrar processos gerenciados por systemd
Se o processo roda como serviço, não use kill diretamente.
Identificar o serviço
systemctl | grep nome
Parar o serviço corretamente
systemctl stop nome-do-servico
Impedir que ele volte no boot
systemctl disable nome-do-servico
Opcionalmente, bloquear totalmente:
systemctl mask nome-do-servico
Validar que o processo não está mais rodando
Verificar se ainda existe PID ativo
ps aux | grep nome_do_processo
Ou:
pgrep nome_do_processo
Se não houver saída, o processo foi encerrado.
Verificar serviços ativos
systemctl status nome-do-servico
O estado deve ser:
inactive (dead)
Validar se não ficou nada aberto no sistema
Verificar arquivos deletados ainda abertos
Esse é o ponto mais crítico.
lsof | grep deleted
Se aparecer algo como:
processo PID usuário ... arquivo.log (deleted)
Significa que o processo ainda está ativo ou foi mal encerrado.
Validar consumo real de disco
df -h
Compare com:
du -sh /
Diferença grande entre df e du normalmente indica:
- arquivos deletados abertos
- processos presos
Validar consumo de CPU e memória
top
Ou:
ps aux --sort=-%mem | head
ps aux --sort=-%cpu | head
Nenhum processo inesperado deve aparecer.
Procedimento seguro recomendado (resumo operacional)
- Identificar o processo (
ps,pgrep) - Encerrar com
kill(SIGTERM) - Se for serviço, usar
systemctl stop - Validar que não existe mais PID ativo
- Verificar
lsof | grep deleted - Conferir
df -hetop
Observações importantes
- Nunca apagar arquivos de log ativos com
rm - Para zerar logs em uso, utilize:
truncate -s 0 arquivo.log
- Sempre prefira parar serviços pelo
systemctl - Use
kill -9apenas quando não houver alternativa