fuser toont welk proces een bestand, map of netwerkpoort in gebruik heeft. Handig om te achterhalen waarom een poort bezet is of een schijf niet ontkoppeld kan worden.
fuser bestand
fuser poort/protocol
| Optie | Betekenis |
|---|---|
-k | Processen die het bestand/poort gebruiken beëindigen (SIGKILL) |
-i | Vraag bevestiging vóór elk kill-signaal |
-l | Toon alle beschikbare signalen |
-m | Alle processen op een gemount bestandssysteem |
-n tcp / -n udp | Zoek op netwerk-namespace (poort) |
-s | Stil — geen uitvoer, alleen exitcode |
-v | Uitgebreid: toon PID, gebruiker, toegangstype |
-4 / -6 | Alleen IPv4 of IPv6 |
Welk proces luistert op poort 8080:
fuser 8080/tcp
Uitgebreide weergave met gebruiker en PID:
fuser -v 8080/tcp
Proces op poort 8080 beëindigen:
fuser -k 8080/tcp
Controleer of een poort vrij is:
fuser 3000/tcp 2>/dev/null || echo "Port 3000 vrij"
fusergeeft exitcode 1 als er geen proces gevonden wordt. Door2>/dev/nullweg te sturen en||te gebruiken, print je alleen iets als de poort vrij is. Handig in scripts vóórdat je een server start.
Welk proces een bestand open heeft:
fuser /var/log/syslog
Welke processen een map in gebruik hebben (bijv. vóór umount):
fuser -m /mnt/usb
Alle processen op een gemount bestandssysteem beëindigen:
fuser -km /mnt/usb
Wacht tot een poort vrijkomt:
while fuser 3000/tcp &>/dev/null; do
echo "Wacht op poort 3000..."
sleep 1
done
echo "Poort 3000 is vrij."
Start een service alleen als de poort vrij is:
fuser 3000/tcp 2>/dev/null && echo "Poort bezet" && exit 1
./mijn-server &
| Code | Betekenis |
|---|---|
0 | Minstens één proces gevonden |
1 | Geen proces gevonden (of fout) |
| Commando | Voordeel |
|---|---|
fuser 3000/tcp | Snel, exitcode bruikbaar in scripts |
lsof -i :3000 | Meer detail (FD, gebruiker, verbindingsstatus) |
ss -tlpn sport = :3000 | Overzicht van alle sockets, sneller op grote systemen |
Combineer met ps voor meer context over het gevonden proces:
pid=$(fuser 3000/tcp 2>/dev/null)
[ -n "$pid" ] && ps -p $pid -o pid,user,comm,args