Junior
Wie zeigt man in Linux die Liste der Dateideskriptoren an?
sobes.tech KI
Antwort von AI
Die Liste der Dateideskriptoren kann mit dem Befehl lsof angezeigt werden.
# Alle offenen Dateien und Deskriptoren für alle Prozesse anzeigen
lsof
# Offene Dateien und Deskriptoren für einen bestimmten Prozess nach PID anzeigen
# Ersetzen Sie <PID> durch die Prozess-ID
lsof -p <PID>
# Offene Dateien und Deskriptoren für alle Prozesse eines Benutzers anzeigen
# Ersetzen Sie <username> durch den Benutzernamen
lsof -u <username>
# Offene Dateien und Deskriptoren für einen bestimmten Befehl anzeigen
# Ersetzen Sie <command> durch den Befehl
lsof -c <command>
# Dateien und Deskriptoren im Zusammenhang mit Netzwerkverbindungen anzeigen
lsof -i
# Dateien und Deskriptoren im Zusammenhang mit einem bestimmten Port anzeigen
# Ersetzen Sie <port_number> durch die Portnummer
lsof -i :<port_number>
# Dateien und Deskriptoren im Zusammenhang mit einer bestimmten Datei oder einem Verzeichnis anzeigen
# Ersetzen Sie <file_or_directory> durch den Pfad zur Datei oder zum Verzeichnis
lsof <file_or_directory>
lsof zeigt Informationen in einem Spaltenformat:
- COMMAND: Name des mit dem Prozess verbundenen Befehls.
- PID: Prozess-ID.
- USER: Benutzer, der den Prozess besitzt.
- FD: Dateideskriptor. Kann sein:
- cwd: Aktuelles Arbeitsverzeichnis.
- rtd: Wurzelverzeichnis.
- txt: Textdatei (ausführbarer Code).
- mem: Speicherabbild der Datei.
- mmap: In den Speicher abgebildete Datei.
- <N>u: Dateideskriptor <N> im "Lesen/Schreiben"-Modus geöffnet.
- <N>r: Dateideskriptor <N> im "Nur Lesen"-Modus geöffnet.
- <N>w: Dateideskriptor <N> im "Nur Schreiben"-Modus geöffnet.
- <N>l: Dateideskriptor <N> ist blockiert.
- TYPE: Knotentyp:
- REG: Reguläre Datei.
- DIR: Verzeichnis.
- CHR: Zeichenorientiertes Gerät.
- BLK: Blockorientiertes Gerät.
- FIFO: Benannter Kanal (Pipe).
- SOCK: Socket.
- DEVICE: Gerätenummer.
- SIZE/OFF: Dateigröße oder Offset.
- NODE: Inode-Nummer.
- NAME: Dateiname.
Es ist auch möglich, das /proc-Dateisystem zu verwenden. Für jeden Prozess (PID) ist /proc/<PID>/fd/ ein Verzeichnis, das symbolische Links zu den Dateien enthält, die dieser Prozess geöffnet hat. Jeder Link ist nach der Nummer des Dateideskriptors benannt.
# Anzeigen der Dateideskriptoren für einen Prozess mit PID <PID>
# Ersetzen Sie <PID> durch die Prozess-ID
ls -l /proc/<PID>/fd/
Die Ausgabe von ls -l zeigt die Nummer des Deskriptors und die Datei, auf die er verweist.