Fuser
Funktion
Identifizieren der Prozesse, die eine Datei oder ein Dateisystem benutzen, fuser gibt die Prozeß-IDs der Prozesse aus, die Dateien oder lokale Dateisysteme verwenden. Auf jede Prozeß-ID folgt ein einbuchstabiger
Code
c | Der Prozeß verwendet die Datei als aktuelles Verzeichnis. |
f | Die Datei ist geöffnet. |
m | Es handelt sich um eine gemeinsam genutzte Bibliothek. |
r | Es handet sich um das Wurzelverzeichnis- |
Alle Benutzer, die /dev/kmem und /dev/mem lesen dürfen, können fuser benutzen, aber nur ein privilegierter Benutzer kann Prozesse eines anderen Benutzers beenden, fuser funktioniert nicht mit entfernten (NFS-)Dateien.
Wenn mehr als eine Gruppe von Dateien angegeben wird, können die Optionen für alle weiteren Dateigruppen neu angegeben werden. Ein einzelner Querstrich (-) hebt alle aktuell gültigen Optionen wieder auf und läßt für die nächste Gruppe von Dateien neue Optionen gelten.
Optionen
Option | Zweck |
---|---|
-- | Alle Optionen auf ihre Defaults zurücksetzen. |
-Signal | Das Signal Signal anstelle von SIGKILL schicken. |
-a | Informationen über alle Dateien anzeigen, auch wenn keine Prozesse auf sie zugreifen. |
-i | Beim Benutzer zurückfragen, bevor ein Prozeß beendet wird. Wird ignoriert, wenn nicht auch -k angegeben wird. |
-k | An jeden Prozeß SIGKILL schicken. |
-l | Die Signalnamen ausgeben. |
-n tcp,udp oder file | Der Namensraum file ist default |
-m | Erwartet, daß die Dateien auf einem eingehängten Dateisystem liegen; alle Dateien, die auf dieses Dateisystem zugreifen, berücksichtigen. |
-s | wenige Ausgaben. |
-u | Der Login-Name des Benutzers folgt der Prozeß-ID in Klammern. |
-v | Verbose-Modus |
-V | Versionsinformationen anzeigen. |
Beispiele
Signale anzeigen
root@zero:~# fuser -l HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS UNUSED
Welcher Prozess greift auf das tmp Verzeichnis zu
root@zero:~# fuser -a /tmp/ /tmp/: 3294c
Welcher User greit auf /var zu.
root@zero:~# fuser -vu /var/ USER PID ACCESS COMMAND /var/: xinux 10005 ..c.. (xinux)sh
Wer hat den TCP Port 80 geöffnet:
root@zero:~# fuser -vu -n tcp 80 USER PID ACCESS COMMAND 80/tcp: root 5006 F.... (root)apache2 www-data 5007 F.... (www-data)apache2 www-data 5009 F.... (www-data)apache2 www-data 5010 F.... (www-data)apache2 www-data 5013 F.... (www-data)apache2 www-data 5015 F.... (www-data)apache2
Beenden der Prozess die auf Port 80 zugreifen.
root@zero:~# fuser -k -n tcp 80 80/tcp: 10183 10185 10187 10188 10189 10190
Mit Rückfragen root@zero:~# fuser -ik -n tcp 80
80/tcp: 10213 10215 10217 10218 10219 10220 Kill process 10213 ? (y/N) ...