FUSER(1) Dienstprogramme fur Benutzer FUSER(1) BEZEICHNUNG fuser - Prozesse anhand von Dateien oder Sockets identifizieren UBERSICHT fuser [-fuv] [-a|-s] [-4|-6] [-c|-m|-n Namensraum] [ -k [-i] [-M] [-w] [-SIGNAL] ] Name fuser -l fuser -V BESCHREIBUNG fuser zeigt anhand der angegebenen Dateien oder Dateisysteme die Kennungen (PIDs) eines Prozesses an. Im Standard-Anzeigemodus folgt jedem Dateinamen ein Buchstabe, der den Zugriffstyp angibt: c bezeichnet das aktuelle Verzeichnis. e bezeichnet das laufende ausfuhrbare Programm. f bezeichnet die geoffnete Datei. f wird im Standard-Anzeigemodus weggelassen. F bezeichnet die zum Schreiben geoffnete Datei. F wird im Standard-Anzeigemodus weggelassen. r bezeichnet das Wurzelverzeichnis. m zugewiesene Datei oder Laufzeitibliothek. . ist ein Platzhalter, der im Standard-Anzeigemodus weggelassen wird. fuser gibt einen von Null verschiedenen Wert zuruck, wenn auf keine der angegebenen Dateien zugegriffen wurde oder wenn ein schwerwiegender Fehler aufgetreten ist. Wenn mindestens ein Zugriff gefunden wurde, gibt fuser Null zuruck. Um nach Prozessen anhand von TCP- und UDP-Sockets suchen zu konnen, muss der entsprechende Namensraum mit der Option -n angegeben werden. Standardmassig schaut fuser sowohl in IPv6- als auch IPv4-Sockets. Um das Standardverhalten zu andern, verwenden Sie die Optionen -4 und -6. Der oder die Socket(s) konnen anhand des lokalen und fernen Ports und der fernen Adresse angegeben werden. Alle Felder sind optional, aber Kommata vor den fehlenden Feldern mussen vorhanden sein: [lcl_Port][,[ferner_Host][,[ferner_Port]]] Fur die IP-Adressen und Portnummern konnen entweder symbolische oder numerische Werte verwendet werden. fuser schreibt nur die PIDs in die Standardausgabe, alles andere wird in die Standardfehlerausgabe geschrieben. OPTIONEN -a, --all zeigt alle in der Befehlszeile angegebenen Dateien an. Standardmassig werden nur Dateien angezeigt, auf die mindestens ein Prozess zugreift. -c ist gleichbedeutend mit der Option -m (fur POSIX-Kompatibilitat). -f wird stillschweigend ignoriert (fur POSIX-Kompatibilitat). -k, --kill totet Prozesse, die auf die Datei zugreifen. Das Signal SIGKILL wird gesendet, es sei denn, Sie andern es mit -SIGNAL. Ein fuser-Prozess totet sich niemals selbst, konnte aber von anderen fuser-Prozessen getotet werden. Die effektive Benutzerkennung (UID) des Prozesses, der fuser ausfuhrt, wird auf dessen reale Benutzerkennung gesetzt, bevor die Totung versucht wird. -i, --interactive bittet den Benutzer um Bestatigung, bevor ein Prozess getotet wird. Diese Option wird stillschweigend ignoriert, wenn nicht auch die Option -k angegeben ist. -I, --inode bewirkt, dass fur den Namensraum file alle Vergleiche auf den oder die Inode(s) der angegebenen Datei oder Dateien und nicht auf die Dateinamen bezogen werden, selbst wenn sich diese auf netzwerkbasierten Dateisystemen befinden. -l, --list-signals listet alle bekannten Signalnamen auf. -m NAME, --mount NAME bezeichnet eine Datei auf einem eingehangten Dateisystem oder einem blockorientierten Gerat, das eingehangt ist. Alle Prozesse, die auf Dateien auf diesem Dateisystem zugreifen, werden aufgelistet. Falls ein Verzeichnis angegeben ist, wird es automatisch in NAME/ geandert, um jedes Dateisystem zu verwenden, das in diesem Verzeichnis eingehangt sein konnte. -M, --ismountpoint erfullt die Anforderung nur dann, wenn der NAME einen Einhangepunkt bezeichnet. Dies ist ein sehr wertvoller Sicherheitsmechanismus, der Sie daran hindert, den gesamten Rechner zu toten, falls der NAME kein Dateisystem bezeichnen sollte. -w totet nur Prozesse, die Schreibzugriff haben. Diese Option wird stillschweigend ignoriert, wenn nicht auch die Option -k angegeben ist. -n NAMENSRAUM, --namespace NAMENSRAUM wahlt einen anderen Namensraum. Die Namensraume file (Dateinamen, die Voreinstellung), udp (lokale UDP-Ports) und tcp (lokale TCP-Ports) werden unterstutzt. Fur Ports kann entweder die Portnummer oder der symbolische Name angegeben werden. Auch die Kurznotation Name/Namensraum (zum Beispiel 80/tcp) kann verwendet werden, falls dadurch keine Mehrdeutigkeiten entstehen. -s, --silent aktiviert den stillen Modus. Die Optionen -u und -v werden in diesem Modus ignoriert. Die Option -a darf nicht zusammen mit -s verwendet werden. -SIGNAL verwendet beim Toten von Prozessen das angegebene Signal anstelle von SIGKILL. Signale konnen entweder als Name (zum Beispiel -HUP) oder als Nummer (zum Beispiel -1) angegeben werden. Diese Option wird stillschweigend ignoriert, wenn die Option -k nicht angegeben ist. -u, --user hangt den Benutzernamen des Eigentumers jedes Prozesses an jede PID an. -v, --verbose aktiviert den ausfuhrlichen Modus. Prozesse werden ahnlich wie in ps angezeigt. Die Felder PID, BEN. und BEFEHL sind ahnlich zu ps. ZUGR. zeigt, wie der Prozess auf die Datei zugreift. Im ausfuhrlichen Modus wird auch angezeigt, wann auf eine bestimmte Datei als Einhangepunkt, Knfs-Export oder Auslagerungsdatei zugegriffen wird. In diesem Fall wird kernel anstelle der PID angezeigt. -V, --version zeigt Versionsinformationen an. -4, --ipv4 sucht nur nach IPv4-Sockets. Diese Option darf nicht zusammen mit der Option -6 verwendet werden und ist nur mit den TCP- und UDP-Namensraumen wirksam. -6, --ipv6 sucht nur nach IPv6-Sockets. Diese Option darf nicht zusammen mit der Option -4 verwendet werden und ist nur mit den TCP- und UDP-Namensraumen wirksam. DATEIEN /proc Ort des /proc-Dateisystems BEISPIELE fuser -km /home totet alle Prozesse, die auf das Dateisystem /home in irgendeiner Weise zugreifen. if fuser -s /dev/ttyS1; then :; else Befehl; fi ruft den angegebenen Befehl auf, falls kein anderer Prozess /dev/ttyS1 nutzt. fuser telnet/tcp zeigt alle Prozesse am (lokalen) TELNET-Port. EINSCHRANKUNGEN Prozesse, die auf die gleiche Datei oder das gleiche Dateisystem mehrmals auf die gleiche Weise zugreifen, werden nur einmal angezeigt. Falls das gleiche Objekt in der Befehlszeile mehrmals angegeben ist, konnen einige von dessen Eintragen ignoriert werden. fuser konnte lediglich in der Lage sein, Teilinformationen zu ermitteln, es sei denn, es wird mit hoheren Privilegien ausgefuhrt. Als Konsequenz konnten Dateien, die durch Prozesse anderer Benutzer geoffnet wurden nicht aufgelistet und ausfuhrbare Programme nicht als zugewiesen klassifiziert werden. fuser kann nicht auf Prozessen agieren, fur die es keine Zugriffsrechte auf die Dateideskriptortabelle hat. Am haufigsten tritt dieses Problem beim Suchen nach TCP- oder UDP-Sockets auf, wenn fuser nicht mit Root-Rechten ausgefuhrt wird. In diesem Fall meldet fuser keinen Zugriff. Die Installation von fuser SUID root wird Probleme vermeiden, die auf unvollstandige Informationen zuruckzufuhren sind, aber konnte aus Sicherheitsgrunden und zum Schutz der Privatsphare unerwunscht sein. udp- und tcp-Namensraume sowie UNIX-Domain-Sockets konnen mit einem Kernel alter als Version 1.3.78 nicht durchsucht werden. Zugriffe durch den Kernel werden nur mit der Option -v angezeigt. Die Option -k agiert nur auf Prozessen. Falls der Benutzer der Kernel ist, gibt fuser einen Hinweis aus, fuhrt daruber hinaus aber keine Aktion aus. fuser wird keine blockorientierten Gerate sehen konnen, die von Prozessen in einem anderen Einhangenamensraum eingehangt wurden. Das kommt daher, weil die in der Dateideskriptortabelle sichtbare Geratekennung aus dem Prozessnamensraum stammt, nicht aus dem von fuser. FEHLER Der Befehl fuser -m /dev/sgX zeigt alle Prozesse an (oder totet diese, wenn die Option -k angegeben ist), selbst dann, wenn Sie das Gerat nicht eingerichtet haben. Es konnte weitere Gerate geben, bei denen dies getan wird. Die Option -m von mount erkennt jede Datei innerhalb eines Gerats als die von Ihnen angegebene Datei; verwenden Sie zusatzlich die Option -M, um zu verdeutlichen, dass Sie nur den Einhangepunkt angeben. fuser wird zugewiesene Dateien nicht als Ubereinstimmung sehen, beispielsweise die gemeinsam genutzten Bibliotheken eines Prozesses, wenn diese sich auf einem btrfs(5)-Dateisystem befinden, da die Geratekennungen fur stat(2) und /proc//maps unterschiedlich sind. SIEHE AUCH kill(1), killall(1), stat(2), btrfs(5), lsof(8), mount_namespaces(7), pkill(1), ps(1), kill(2). psmisc 2. November 2022 FUSER(1)