proc_pid_fdinfo(5) File Formats Manual proc_pid_fdinfo(5)

/proc/pid/fdinfo/ - informacje o deskryptorach pliku

/proc/pid/fdinfo/ (od Linuksa 2.6.22)
Jest to podkatalog zawierający po jednym wpisie dla każdego pliku otwartego przez proces; nazwą tego wpisu jest deskryptor pliku. Pliki w tym katalogu są odczytywalne tylko dla właściciela procesu. Zawartość pliku można odczytać, aby uzyskać informacje o odpowiadającym mu deskryptorze pliku. Zawartość zależy od typu pliku odpowiadającego odpowiedniemu deskryptorowi pliku.
Dla zwykłych plików i katalogów wygląda to zwykle tak:

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

Występują następujące pola:
Jest to liczba dziesiętna pokazująca przesunięcie pliku.
Jest to liczba ósemkowa wyświetlająca tryb dostępu pliku i flagi statusu pliku (zob. open(2)). Jeśli ustawiona jest flaga deskryptora pliku close-on-exec, to flags będzie zawierało również wartość O_CLOEXEC.
Przed Linuksem 3.1 to pole nieprawidłowo wyświetlało ustawienie O_CLOEXEC w trakcie otwierania pliku, zamiast aktualnego ustawienia flagi close-on-exec.
To pole, obecne od Linuksa 3.15 jest identyfikatorem montowania zawierającego ten plik. Zob. opis /proc/pid/mountinfo.
Dla deskryptorów plików eventfd (zob. eventfd(2)), wyświetlane są (od Linuksa 3.8) następujące pola:

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

eventfd-count jest bieżącą wartością licznika eventfd, szesnastkowo.
Dla deskryptorów plików epoll (zob. epoll(7)), wyświetlane są (od Linuksa 3.8) następujące pola:

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

Każdy wiersz zaczynający się od tfd opisuje jeden z deskryptorów pliku monitorowany za pomocą deskryptora pliku epool (zob. epoll_ctl(2) aby zapoznać się z niektórymi szczegółami). Pole tfd jest numerem deskryptora pliku. Pole events jest szesnastkową maską zdarzeń monitorowanych dla tego deskryptora pliku. Pole data jest wartością danych powiązanych z tym deskryptorem pliku.
Dla deskryptorów plików signalfd (zob. signalfd(2)), wyświetlane są (od Linuksa 3.8) następujące pola:

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

sigmask jest szesnastkową maską sygnałów akceptowanych poprzez ten deskryptor pliku signalfd (w tym przykładzie ustawione są bity 2 i 3 odpowiadające sygnałom SIGINT i SIGQUIT; zob. signal(7)).
Dla deskryptorów plików inotify (zob. inotify(7)), wyświetlane są (od Linuksa 3.8) następujące pola:

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

Każdy z wierszy zaczynający się od „inotify” wyświetla informacje o jednym z monitorowanych plików lub katalogów. W wierszu występują następujące pola:
Numer obserwowanego deskryptora (dziesiętnie). (od ang. watch descriptor)
Numer i-węzła pliku docelowego (szesnastkowo).
ID urządzenia, na którym znajduje się plik docelowy (szesnastkowo).
Maska monitorowanych zdarzeń pliku docelowego (szesnastkowo).
Jeśli jądro zbudowano z obsługą exportfs, ścieżka do pliku docelowego jest wyświetlona jako uchwyt pliku, przez trzy pola szesnastkowe: fhandle-bytes, fhandle-type i f_handle.
Dla deskryptorów plików fanotify (zob. fanotify(7)), wyświetlane są (od Linuksa 3.8) następujące pola:

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

Czwarty wiersz wyświetla informacje zdefiniowane przy tworzeniu grupy fanotify poprzez fanotify_init(2):
Argument flags podany fanotify_init(2) (wyrażony szesnastkowo).
Argument event_f_flags podany fanotify_init(2) (wyrażony szesnastkowo).
Każdy dodatkowy wiersz pokazany w pliku zawiera informacje o jednym znaku (ang. mark) grupy fanotify. Większość z tych pól jest takich jak do inotify z wyjątkiem:
Flagi powiązane ze znakiem (wyrażone szesnastkowo).
Maski zdarzeń dla tego znaku (wyrażone szesnastkowo).
Maski zdarzeń ignorowanych dla tego znaku (wyrażone szesnastkowo).
Więcej informacji o tych polach znajduje się w podręczniku fanotify_mark(2).
Dla deskryptorów plików timerfd (zob. timerfd(2)), wyświetlane są (od Linuksa 3.17) następujące pola:

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

Jest to numeryczna wartość identyfikatora zegara (związana z jedną ze stałych CLOCK_*, zdefiniowanych za pomocą <time.h>), używanego do oznaczania postępu czasomierza (w tym przykładzie, 0 oznacza CLOCK_REALTIME).
Jest to liczba przypadków, w których upłynął czas czasomierza (tj. wartość, którą zwróciłoby read(2)).
Pola wypisuje znaczniki, w które był ostatnio wyposażony timerfd (zob. timerfd_settime(2)), ósemkowo (w tym przypadku, ustawione są TFD_TIMER_ABSTIME oraz TFD_TIMER_CANCEL_ON_SET).
Pole zawiera czas, jaki pozostał czasomierzowi do upłynięcia, wyrażony w sekundach i nanosekundach. Jest to zawsze wartość względna, niezależnie od tego, czy czasomierz został utworzony ze znacznikiem TFD_TIMER_ABSTIME.
Pole zawiera interwał czasomierza, w sekundach i nanosekundach (pola it_value i it_interval zawierają wartości, które zwróciłoby timerfd_gettime(2) wykonane na tym deskryptorze pliku).

proc(5)

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

2 maja 2024 r. Linux man-pages 6.9.1