proc_pid_fdinfo(5)

NUME
/proc/pid/fdinfo/ - informații despre descriptorii de fișiere

DESCRIERE
Acesta este un subdirector care conține o intrare pentru fiecare fișier pe care procesul îl are deschis, numit prin descriptorul său de fișier. Fișierele din acest director pot fi citite numai de către proprietarul procesului. Conținutul fiecărui fișier poate fi citit pentru a obține informații despre descriptorul de fișier corespunzător. Conținutul depinde de tipul de fișier menționat de descriptorul de fișier corespunzător.

Pentru fișierele și directoarele obișnuite, vom vedea ceva asemănător cu:

    $ cat /proc/12015/fdinfo/4
    pos:    1000
    flags:  01002002
    mnt_id: 21

Câmpurile sunt următoarele:

pos Acesta este un număr zecimal care arată decalajul fișierului.

flags
    Acesta este un număr octal care afișează modul de acces la fișier și indicatoarele de stare ale fișierului (a se vedea open(2)). Dacă fanionul descriptorului de fișier close-on-exec este activat, atunci flags va include și valoarea O_CLOEXEC.

    Înainte de Linux 3.1, acest câmp afișa în mod incorect valoarea O_CLOEXEC la momentul deschiderii fișierului, în loc de valoarea curentă a fanionului close-on-exec.

mnt_id
    Acest câmp, prezent de la Linux 3.15, este ID-ul montării care conține acest fișier. A se vedea descrierea /proc/pid/mountinfo.

Pentru descriptorii de fișier eventfd (a se vedea eventfd(2)), vedem (începând cu Linux 3.8) următoarele câmpuri:

    pos:	0
    flags:	02
    mnt_id:	10
    eventfd-count:               40

eventfd-count este valoarea curentă a contorului eventfd, în hexazecimal.

Pentru descriptorii de fișiere epoll (vezi epoll(7)), vedem (începând cu Linux 3.8) următoarele câmpuri:

    pos:	0
    flags:	02
    mnt_id:	10
    tfd:        9 events:       19 data: 74253d2500000009
    tfd:        7 events:       19 data: 74253d2500000007

Fiecare dintre liniile care încep cu tfd descrie unul dintre descriptorii de fișier monitorizați prin intermediul descriptorului de fișier epoll (a se vedea epoll_ctl(2) pentru mai multe detalii). Câmpul tfd este numărul descriptorului de fișier. Câmpul events este o mască hexazecimală a evenimentelor monitorizate pentru acest descriptor de fișier. Câmpul data este valoarea datelor asociate cu acest descriptor de fișier.

Pentru descriptorii de fișiere signalfd (a se vedea signalfd(2)), vedem (începând cu Linux 3.8) următoarele câmpuri:

    pos:	0
    flags:	02
    mnt_id:	10
    sigmask:	0000000000000006

sigmask este masca hexazecimală a semnalelor care sunt acceptate prin intermediul acestui descriptor de fișier signalfd; (în acest exemplu, biții 2 și 3 sunt definiți, corespunzând semnalelor SIGINT și SIGQUIT; consultați signal(7)).

Pentru descriptorii de fișiere inotify (a se vedea inotify(7)), vedem (începând cu Linux 3.8) următoarele câmpuri:

    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

Fiecare dintre liniile care încep cu „inotify” afișează informații despre un fișier sau un director care este monitorizat. Câmpurile din această linie sunt după cum urmează:

wd  Un număr de descriptor de ceas (în zecimal).

ino Numărul nodului-i al fișierului țintă (în hexazecimal).

sdev
    ID-ul dispozitivului în care se află fișierul țintă (în hexazecimal).

mask
    Masca de evenimente monitorizate pentru fișierul țintă (în hexazecimal).

Dacă nucleul a fost construit cu suport exportfs, ruta către fișierul țintă este expusă ca un gestionar de fișier, prin intermediul a trei câmpuri hexazecimale: fhandle-bytes, fhandle-type și f_handle.

Pentru descriptorii de fișiere fanotify (a se vedea fanotify(7)), vedem (începând cu Linux 3.8) următoarele câmpuri:

    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

A patra linie afișează informațiile definite atunci când grupul fanotify a fost creat prin fanotify_init(2):

flags
    Argumentul flags dat la fanotify_init(2) (exprimat în hexazecimal).

event-flags
    Argumentul event_f_flags dat la fanotify_init(2) (exprimat în hexazecimal).

Fiecare linie suplimentară prezentată în fișier conține informații despre una dintre mărcile din grupul fanotify. Cele mai multe dintre aceste câmpuri sunt ca pentru inotify, cu excepția:

mflags
    Fanioanele asociate mărcii (exprimate în hexazecimal).

mask
    Masca evenimentelor pentru această marcă (exprimată în hexazecimal).

ignored_mask
    Masca de evenimente care sunt ignorate pentru această marcă (exprimată în hexazecimal).

Pentru detalii privind aceste câmpuri, a se vedea fanotify_mark(2).

Pentru descriptorii de fișier timerfd (a se vedea timerfd(2)), vedem (începând cu Linux 3.17) următoarele câmpuri:

    pos:    0
    flags:  02004002
    mnt_id: 13
    clockid: 0
    ticks: 0
    settime flags: 03
    it_value: (7695568592, 640020877)
    it_interval: (0, 0)

clockid
    Aceasta este valoarea numerică a ID-ului ceasului (corespunzător uneia dintre constantele CLOCK_* definite prin <time.h>) care este utilizat pentru a marca progresul temporizatorului (în acest exemplu, 0 este CLOCK_REALTIME).

ticks
    Acesta este numărul de expirări ale cronometrului care au avut loc (de exemplu, valoarea pe care read(2) ar returna-o).

settime flags
    Acest câmp enumeră fanioanele cu care timerfd a fost armat ultima dată (a se vedea timerfd_settime(2)), în octal (în acest exemplu, atât TFD_TIMER_ABSTIME cât și TFD_TIMER_CANCEL_ON_SET sunt activate).

it_value
    Acest câmp conține perioada de timp până la următoarea expirare a temporizatorului, exprimată în secunde și nanosecunde. Aceasta este întotdeauna exprimată ca o valoare relativă, indiferent dacă temporizatorul a fost creat utilizând indicatorul TFD_TIMER_ABSTIME.

it_interval
    Acest câmp conține intervalul temporizatorului, în secunde și nanosecunde; (câmpurile it_value și it_interval conțin valorile pe care le-ar returna timerfd_gettime(2) pe acest descriptor de fișier).

ISTORIC
Linux 2.6.22,

CONSULTAȚI ȘI
proc(5)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.