Der Befehl fuser ist nützlich, um festzustellen, welche Dateien Systemressourcen verwenden. Eine der häufigeren Verwendungen dieses Befehls besteht darin, festzustellen, welcher Benutzer in einem Dateisystem aktiv ist, was verhindert, dass der Systemadministrator das Dateisystem aushängt:
[root@localhost ~]# umount /boot umount: /boot: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
[root@localhost ~]# fuser -v /boot USER PID ACCESS COMMAND /boot: root kernel mount /boot student 29306 ..c.. bash
Fixiererausgabe enthält die folgenden Symbole:
c current directory. e executable being run. f open file. f is omitted in default display mode. F open file for writing. F is omitted in default display mode. r root directory. m mmap'ed file or shared library.
Die folgende Tabelle beschreibt allgemeine Optionen für den Befehl fuser:
Option | Beschreibung |
---|---|
-k oder –kill | Beenden Sie den Prozess, der das Dateisystem oder die Ressource verwendet. |
-i oder –interaktiv | Vor dem Beenden des Prozesses nachfragen (Sie müssen auch die Option -k verwenden). |
-v oder –verbose | Ausführlich; zusätzliche nützliche Informationen liefern. |
fuser-Befehlsbeispiele
1. Um den Prozess mit dem Root-Dateisystem abzurufen:
# fuser /
2. So zeigen Sie alle auf der Befehlszeile angegebenen Dateien an:
# fuser -a /
3. So beenden Sie die Prozesse, die auf die Dateien zugreifen:
# fuser -k /tmp
4. Um den Benutzer zu fragen, bevor er den Prozess beendet:
# fuser -ki /tmp
5. Um alle bekannten Signale aufzulisten:
# fuser -l
6. Um alle Prozesse des Einhängepunkts aufzulisten, in dem sich die angegebene Datei befindet:
# fuser -m /tmp/file.txt
7. Für leisen Betrieb:
# fuser -s /tmp
8. Um das Signal anstelle von SIGKILL anzugeben:
# fuser -signal 15 /tmp
9. So erhalten Sie den Benutzernamen des Prozesseigentümers:
# fuser -u /tmp
10. So stellen Sie den ausführlichen Modus ein:
# fuser -v
11. So zeigen Sie die Versionsinformationen an:
# fuser -V
12. So suchen Sie nur nach IPv4-Sockets:
# fuser -4 /tmp
13. So suchen Sie nur nach IPv6-Sockets:
# fuser -6 /tmp
14. So setzen Sie alle Signaloptionen zurück:
# fuser -
Abschließende Gedanken
Der Befehl fuser identifiziert die Prozess-IDs von Prozessen, die die Dateien oder lokalen Dateisysteme verwenden, und gibt sie aus. Auf jede Prozess-ID folgt ein Buchstabencode:c wenn der Prozess die Datei als aktuelles Verzeichnis verwendet; e falls ausführbar; f wenn eine geöffnete Datei; F wenn Datei zum Schreiben geöffnet; m wenn eine gemeinsam genutzte Bibliothek; und r wenn das Root-Verzeichnis. Jeder Benutzer mit der Berechtigung zum Lesen von /dev/kmem und /dev/mem kann fuser verwenden, aber nur ein privilegierter Benutzer kann den Prozess eines anderen Benutzers beenden. fuser funktioniert nicht mit Remote-Dateien (NFS).