proc_pid_fdinfo(5)

BEZEICHNUNG
/proc/pid/fdinfo/ - Informationen über Dateideskriptoren

BESCHREIBUNG
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:

wd  Eine Watch-Deskriptornummer (deziaml)

ino Die Inode-Nummer der Zieldatei (hexadezimal).

sdev
    Die Kennung des Gerätes, auf dem sich die Zieldatei befindet (hexadezimal).

mask
    Die Maske der für die Zieldatei überwachten Ereignisse (hexadezimal).

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.)

GESCHICHTE
Linux 2.6.22.

SIEHE AUCH
proc(5)

Ü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 (https://www.gnu.org/licenses/gpl-3.0.html) 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: debian-l10n-german@lists.debian.org.