fuser¶
O que é¶
fuser identifica quais processos estão usando um arquivo, filesystem, porta TCP/UDP ou socket. É uma ferramenta direta para responder “quem está usando este recurso agora?”.
Para que serve¶
- Descobrir rapidamente quem está ocupando uma porta.
- Encerrar processo que mantém porta presa após shutdown incompleto.
- Ver processos usando um mountpoint/device antes de unmount.
- Acelerar resposta operacional sem parsing complexo.
Quando usar¶
- Deploy falha com “porta já em uso” e você precisa liberar rápido.
- Serviço foi parado, mas o socket continua ocupado por processo órfão.
umountfalha porque filesystem ainda está em uso.- Você precisa de comando curto para automação operacional simples.
Exemplos de uso¶
# Quem usa a porta TCP 8080
fuser -v -n tcp 8080
# Quem usa a porta UDP 53
fuser -v -n udp 53
# Encerrar processos que usam a porta 8080 (cuidado)
fuser -k -n tcp 8080
# Descobrir quem está segurando um mountpoint
fuser -vm /mnt/dados
Exemplo de saída¶
$ fuser -v -n tcp 8080
USER PID ACCESS COMMAND
8080/tcp: app 4242 F.... java
Como interpretar:
8080/tcp: recurso consultado.PID/COMMAND: processo que detém a porta.ACCESS: tipo de acesso (Fcostuma indicar open file/socket ativo).
Dicas de troubleshooting¶
- Primeiro rode sem
-kpara evitar matar processo errado. - Em porta crítica, confirme o PID com
ps -fp <PID>antes de encerrar. - Se
fusernão mostrar dados, execute como root/sudo. - Em ambiente com systemd/k8s, matar PID pode disparar restart automático (esperado).
Comparação com ferramentas similares¶
fuservslsof:fuseré mais direto;lsofoferece mais detalhes.fuservsss:ssé melhor para estado/conjunto de conexões;fuserpara dono de um alvo específico.
Flags importantes¶
-n tcp|udp: define namespace de porta de rede.-v: modo verboso (mostra usuário, comando, acesso).-k: envia sinal para processos encontrados (por padrãoSIGKILLem muitas implementações).-m: identifica processos usando filesystem/mountpoint.-i: confirmação interativa ao usar-k.-SIGNAL(ex.:-TERM,-HUP): escolhe sinal mais seguro queKILL.
Boas práticas¶
- Prefira
-TERMantes de-KILLpara permitir shutdown limpo. - Registre PID/comando antes de matar (
fuser -v ...+ps -fp). - Evite
fuser -kem portas compartilhadas sem validar impacto. - Em pós-incidente, documente por que a porta ficou presa para evitar recorrência.
Referências¶
man fuserman psmisc- Documentação psmisc: https://man7.org/linux/man-pages/man1/fuser.1.html