proc_pid_fdinfo(5) | File Formats Manual | proc_pid_fdinfo(5) |
NAZWA
/proc/pid/fdinfo/ - informacje o deskryptorach pliku
OPIS
- /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:
- pos
- Jest to liczba dziesiętna pokazująca przesunięcie pliku.
- flags
- 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.
- mnt_id
- 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:
- 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):
- flags
- Argument flags podany fanotify_init(2) (wyrażony szesnastkowo).
- event-flags
- 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:
- mflags
- Flagi powiązane ze znakiem (wyrażone szesnastkowo).
- mask
- Maski zdarzeń dla tego znaku (wyrażone szesnastkowo).
- ignored_mask
- 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)
- clockid
- 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).
- ticks
- Jest to liczba przypadków, w których upłynął czas czasomierza (tj. wartość, którą zwróciłoby read(2)).
- settime flags
- 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).
- it_value
- 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.
- it_interval
- 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).
ZOBACZ TAKŻE
TŁUMACZENIE
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 |