Ich nehme an einer interaktiven Bash-Sitzung teil. Ich habe mit exec einige Dateideskriptoren erstellt und möchte den aktuellen Status meiner Bash-Sitzung auflisten.
Gibt es eine Möglichkeit, die aktuell geöffneten Dateideskriptoren aufzulisten?
linux
bash
file-descriptors
open-files
dangonfast
quelle
quelle
bash
ist nicht Teil des Kernels, daher kann er nicht wissen, was andere Prozesse tun, selbst die, die er gestartet hat.Antworten:
Ja, dies listet alle offenen Dateideskriptoren auf:
Natürlich, wie immer: 0 ist stdin, 1 ist stdout und 2 ist stderr.
Die vierte ist in diesem Fall eine offene Datei (zum Schreiben).
quelle
Vorausgesetzt , dass Sie die Datei - Deskriptoren auflisten möchten, die an jedem Terminal angeschlossen sind, können Sie
lsof
/fuser
oder ähnlich wie:Diese Tools werden grundsätzlich analysiert
/proc
, sodass Sie auch auf Folgendes zugreifen können/proc/$$/fd/
:quelle
\/pts\/
Ablehnungen offenen Dateien wieexec 4>testfile.txt
Netzwerk fd nur:
quelle