table of contents
proc_pid_fdinfo(5) | File Formats Manual | proc_pid_fdinfo(5) |
NUME¶
/proc/pid/fdinfo/ - informații despre descriptorii de fișiere
DESCRIERE¶
- /proc/pid/fdinfo/ (începând cu Linux 2.6.22)
- 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ă:
- 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).
CONSULTAȚI ȘI¶
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 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.
2 mai 2024 | Pagini de manual de Linux 6.9.1 |