proc_pid_fdinfo(5) | File Formats Manual | proc_pid_fdinfo(5) |
BEZEICHNUNG
/proc/pid/fdinfo/ - Informationen über Dateideskriptoren
BESCHREIBUNG
- /proc/PID/fdinfo/ (seit Linux 2.6.22)
- In diesem Unterverzeichnis stehen die Dateideskriptoren aller von diesem Prozess geöffneten Dateien. Die Dateien in diesem Verzeichnis können nur von dem Eigentümer des Prozesses gelesen werden. Der Inhalt jeder Datei kann gelesen werden, um Informationen über den entsprechenden Dateideskriptor zu bekommen. Der Inhalt hängt von der Art der Datei ab, die von dem entsprechenden Dateideskriptor referenziert wird.
- Für reguläre Dateien und Verzeichnisse ergibt sich etwas der Form:
-
$ cat /proc/12015/fdinfo/4 pos: 1000 flags: 01002002 mnt_id: 21
- Die Bedeutung der Felder im Einzelnen:
- pos
- Dies ist eine Dezimalzahl, die den Dateiversatz zeigt.
- flags
- Dies ist eine oktale Zahl, die den Dateizugriffsmodus und die Dateistatusschalter anzeigt (siehe open(2)). Falls der »close-on-exec«-Dateideskriptorschalter gesetzt ist, wird flags auch den Wert O_CLOEXEC enthalten.
- Vor Linux 3.1 zeigte dieses Feld inkorrekterweise die Einstellung von O_CLOEXEC zum Zeitpunkt des Öffnens der Datei an, statt den aktuellen Wert des Schalters close-on-exec.
- mnt_id
- Dieses seit Linux 3.15 vorhandene Feld zeigt die Kennung der Einhängung an, der diese Datei enthält. Siehe die Beschreibung von /proc/PID/mountinfo.
- Für den Eventfd-Dateideskriptor (siehe eventfd(2)) gibt es (seit Linux 3.8) die folgenden Felder:
-
pos: 0 flags: 02 mnt_id: 10 eventfd-count: 40
- eventfd-count ist der aktuelle hexadezimale Wert des Eventfd-Zählers.
- Für den Epoll-Dateideskriptor (siehe epoll(7)) gibt es (seit Linux 3.8) die folgenden Felder:
-
pos: 0 flags: 02 mnt_id: 10 tfd: 9 events: 19 data: 74253d2500000009 tfd: 7 events: 19 data: 74253d2500000007
- Jede mit tfd beginnende Zeile beschreibt einen Dateideskriptor, der mit dem Epoll-Dateideskriptor überwacht wird (siehe epoll_ctl(2) für weitere Details). Das Feld tfd ist die Nummer des Dateideskriptors. Das Feld events ist eine hexadezimale Maske der für diesen Dateideskriptor überwachten Ereignisse. Das Feld data ist der diesem Dateideskriptor zugeordnete Datenwert.
- Für den Signalfd-Dateideskriptor (siehe signalfd(2)) gibt es (seit Linux 3.8) die folgenden Felder:
-
pos: 0 flags: 02 mnt_id: 10 sigmask: 0000000000000006
- sigmask ist die hexadezimale Maske der Signale, die über diesen Signalfd-Dateideskriptor akzeptiert werden. (In diesem Beispiel sind die Bits 2 und 3 gesetzt; dies entspricht den Signalen SIGINT und SIGQUIT; siehe signal(7).)
- Für Inotify-Dateideskriptoren (siehe inotify(7)) gibt es (seit Linux 3.8) die folgenden Felder:
-
pos: 0 flags: 00 mnt_id: 11 inotify wd:2 ino:7ef82a sdev:800001 mask:800afff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:2af87e00220ffd73 inotify wd:1 ino:192627 sdev:800001 mask:800afff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:27261900802dfd73
- Jede der mit »inotify« beginnenden Zeilen zeigt Informationen über eine überwachte Datei oder ein überwachtes Verzeichnis an. Die Felder in dieser Zeile sind wie folgt:
- Falls der Kernel mit Exportfs-Unterstützung gebaut wurde, ist der Pfad zu der Zieldatei mittels drei hexadezimaler Felder als Datei-Handle offengelegt: fhandle-bytes, fhandle-type und f_handle.
- Für Fanotify-Dateideskriptoren (siehe fanotify(7)) gibt es (seit Linux 3.8) die folgenden Felder:
-
pos: 0 flags: 02 mnt_id: 11 fanotify flags:0 event-flags:88002 fanotify ino:19264f sdev:800001 mflags:0 mask:1 ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:4f261900a82dfd73
- Das vierte Feld zeigt Informationen, die bei der Erstellung der Fanotify-Gruppe mittels fanotify_init(2) definiert wurden:
- flags
- Das an fanotify_init(2) übergebene Argument flags (hexadezimal ausgedrückt).
- event-flags
- Das an fanotify_init(2) übergebene Argument event_f_flags (hexadezimal ausgedrückt).
- Jede zusätzliche in der Datei gezeigte Zeile enthält Informationen über eine der Markierungen in der Fanotify-Gruppe. Die meisten der Felder sind für Inotify, außer:
- mflags
- Die der Markierung zugeordneten Schalter (hexadezimal ausgedrückt).
- mask
- Die Ereignismaske für diese Markierung (hexadezimal ausgedrückt).
- ignored_mask
- Die Maske der für diese Markierung ignorierten Ereignisse (hexadezimal ausgedrückt).
- Für Details über diese Felder lesen Sie fanotify_mark(2).
- Für den Timerfd-Dateideskriptor (siehe timerfd(2)) gibt es (seit Linux 3.17) die folgenden Felder:
-
pos: 0 flags: 02004002 mnt_id: 13 clockid: 0 ticks: 0 settime flags: 03 it_value: (7695568592, 640020877) it_interval: (0, 0)
- clockid
- Dies ist der numerische Wert der Uhrkennung (entsprechend einer der mittels <time.h> definierten Konstanten), der zur Markierung des Fortschritts des Timers verwandt wird (in diesem Beispiel ist 0 CLOCK_REALTIME).
- ticks
- Dies ist die Anzahl der aufgetretenen Abläufe des Timers (d.h. dem Wert, den read(2) darauf zurückliefern würde).
- settime flags
- Dieses Feld führt in oktaler Schreibweise die Schalter auf, mit denen Timerfd letztmalig beladen wurde (siehe timerfd_settime(2)) (in diesem Beispiel sind sowohl TFD_TIMER_ABSTIME als auch TFD_TIMER_CANCEL_ON_SET gesetzt).
- it_value
- Dieses Feld hält die Zeitdauer in Sekunden und Nanosekunden, bis der Timer das nächste Mal ablaufen wird. Der Wert wird immer relativ ausgedrückt, unabhängig davon, ob der Timer mittels des Schalters TFD_TIMER_ABSTIME erstellt wurde.
- it_interval
- Dieses Feld enthält das Intervall des Timers in Sekunden und Nanosekunden. (Die Felder it_value und it_interval enthalten die Werte, die timerfd_gettime(2) auf diesem Dateideskriptor zurückliefern würde.)
SIEHE AUCH
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, Dr. Tobias Quathamer <toddy@debian.org>, Chris Leick <c.leick@vollbio.de>, Erik Pfannenstein <debianignatz@gmx.de> und Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
2. Mai 2024 | Linux man-pages 6.9.1 |