Befehl "fuser"
Zweck
Identifiziert Prozesse, die eine Datei oder Dateistruktur verwenden.
Syntax
Benutzer [ [-c | -C | -f ] [-x ] |-d ] [ -k | -K { Signalnummer | Signalname }] [ -u ] [ -V ]Datei ...
Beschreibung
Der Befehl fuser listet die Prozessnummern lokaler Prozesse auf, die die mit dem Parameter Datei angegebenen lokalen oder fernen Dateien verwenden. Für spezielle Blockeinheiten listet der Befehl die Prozesse auf, die eine Datei auf dieser Einheit verwenden.
Jeder Prozessnummer folgt ein Buchstabe, der anzeigt, wie der Prozess die Datei verwendet:
| Element | Beschreibung |
|---|---|
| c | Verwendet die Datei als aktuelles Verzeichnis. |
| e | Verwendet die Datei als ausführbares Objekt eines Programms. |
| r | Verwendet die Datei als Stammverzeichnis. |
| s | Verwendet die Datei als gemeinsam genutzte Bibliothek (oder ein anderes ladbares Objekt). |
Die Prozessnummern werden in einer Zeile mit Leerzeichen zwischen den Prozessnummern in die Standardausgabe geschrieben. Hinter der letzten Ausgabe für jeden Dateioperanden wird ein Zeilenvorschubzeichen in die Standardfehlerausgabe geschrieben. Alle anderen Ausgaben werden in den Standardfehler geschrieben.
Der Befehl fuser erkennt keine Prozesse, die mmap-Regionen haben, deren Dateideskriptor bereits geschlossen wurde. Auch Prozesse, die FIFO-Warteschlangen (benannte Pipes) verwenden, werden erst erkannt, wenn die FIFO-Warteschlange vollständig geöffnet ist. So wird beispielsweise ein Prozess, der auf den Abschluss eines Systemaufrufs "open" wartet, vom Befehl fuser nicht erkannt.
Der Befehl fuser wird verwendet, um die Prozesse zu bestimmen, die ein Dateisystem verwenden. Wenn es sich bei dem Dateisystem um ein Netzdateisystem (NFS, Network File System) handelt und der NFS-Server nicht antwortet,
kann der Befehl fuser blockieren. Zur Vermeidung solcher Situationen können Sie die Umgebungsvariable FUSER_VERSION auf 1 setzen.
Flags
| Element | Beschreibung |
|---|---|
| -c | Meldet alle offenen Dateien im Dateisystem, das Datei enthält. |
| -C | Meldet alle offenen Dateien im Dateisystem, die in dem mit dem Parameter File angegebenen Verzeichnis angehängt sind. Wenn der Parameter File kein Mountpunkt ist, meldet der Befehl einen Fehler. |
| -d | Meldet alle offenen Dateien, deren Verknüpfung mit dem Dateisystem, das Datei enthält, aufgehoben wurde (d. h., die gelöscht wurden). Wenn dieses Flag zusammen mit dem Flag -V verwendet wird, meldet der Befehl auch die I-Node-Nummer und die Größe der gelöschten Datei. |
| -F | Meldet nur alle offenen Instanzen von Datei. |
| -K SignalNumber | SignalName | Sendet das angegebene Signal an jeden lokalen Prozess. Nur der Rootbenutzer kann einen Prozess eines anderen Benutzers beenden. Signal kann entweder als Signalname, wie z. B. KILL für das Signal SIGKILL, oder als Signalnummer, wie z. B. 9, angegeben werden. Gültige Werte für SignalName sind diejenigen, die durch den Befehl " kill -l angezeigt werden. |
| -k | Sendet das SIGKILL-Signal an jeden lokalen Prozess. Nur der Rootbenutzer kann einen Prozess eines anderen Benutzers beenden. Hinweis: fuser -k oder -K sind möglicherweise nicht in der Lage, neue Prozesse zu erkennen und zu beenden, die unmittelbar nach dem Start des Programms erstellt wurden.
|
| -u | Gibt den Anmeldenamen für lokale Prozesse in Klammern hinter der Prozessnummer an. |
| -V | Stellt eine ausführliche Ausgabe bereit. |
| -x | Wird zusammen mit -c oder -f verwendet und meldet zusätzlich zur Standardausgabe des Befehls "fuser" ausführbare und ladbare Objekte. |
Sicherheit
Beispiele
- Geben Sie Folgendes ein, um die Prozessnummern lokaler Prozesse aufzulisten, die die Datei /etc/passwd verwenden:
fuser /etc/passwd - Geben Sie Folgendes ein, um die Prozessnummern und Benutzeranmeldenamen von Prozessen aufzulisten, die die Datei /etc/filesystems verwenden:
fuser -u /etc/filesystems - Geben Sie Folgendes ein, um alle Prozesse zu beenden, die ein bestimmtes Dateisystem verwenden:
oderfuser -k -x -u -c /dev/hd1fuser -kxuc /homeJeder Befehl listet die Prozessnummer und den Benutzernamen auf und beendet dann jeden Prozess, der das Dateisystem /dev/hd1 (/home) verwendet. Nur der Rootbenutzer kann Prozesse beenden, die einem anderen Benutzer gehören. Sie können diesen Befehl verwenden, wenn Sie versuchen, das Dateisystem /dev/hd1 abzuhängen (Unmount), und ein Prozess, der auf das Dateisystem /dev/hd1 zugreift, dies verhindert.
- Geben Sie Folgendes ein, um alle Prozesse aufzulisten, die eine Datei verwenden, die aus einem bestimmten Dateisystem gelöscht wurde:
fuser -d /usr
Dateien
| Element | Beschreibung |
|---|---|
| /dev/kmem | Wird für das Systemimage verwendet. |
| /dev/mem | Wird ebenfalls für das Systemimage verwendet. |