Provided by: manpages-ru_4.26.0-1_all 

НАИМЕНОВАНИЕ
/proc/pid/fdinfo/ - information about file descriptors
ОПИСАНИЕ
/proc/pid/fdinfo/ (начиная с Linux 2.6.22)
Этот подкаталог содержит один элемент на каждый файл, который открыл процесс, именем файла будет
номер его файлового дескриптора. Файлы в этом каталоге доступны на чтение только владельцу
процесса. Содержимое каждого файла может быть прочитано для получения информации о соответствующем
файловом дескрипторе. Содержимое зависит от типа файла, на который ссылается соответствующий
файловый дескриптор.
Для обычных файлов и каталогов содержимым будет, что-то типа:
$ cat /proc/12015/fdinfo/4
pos: 1000
flags: 01002002
mnt_id: 21
Поля:
pos Это десятичное число отражает смещение файла.
flags Это восьмеричное число отражает режим доступа к файлу и флаги состояния файла (смотрите
open(2)). Если установлен флаг файлового дескриптора close-on-exec, то flags также содержат
значение O_CLOEXEC.
До Linux 3.1 в этом поле некорректно показывалось значение O_CLOEXEC верное на момент
открытия файла, а не текущее значение флага close-on-exec.
mnt_id This field, present since Linux 3.15, is the ID of the mount containing this file. See the
description of /proc/pid/mountinfo.
Для файловых дескрипторов eventfd (смотрите eventfd(2)) мы увидим (начиная с Linux 3.8) следующие
поля:
pos: 0
flags: 02
mnt_id: 10
eventfd-count: 40
В eventfd-count содержится текущее значение счётчика eventfd counter (в виде шестнадцатеричного
числа).
Для файловых дескрипторов epoll (смотрите epoll(7)) мы увидим (начиная с Linux 3.8) следующие
поля:
pos: 0
flags: 02
mnt_id: 10
tfd: 9 events: 19 data: 74253d2500000009
tfd: 7 events: 19 data: 74253d2500000007
Каждая строка, начинающаяся с tfd, описывает один из файловых дескрипторов, который отслеживается
через файловый дескриптор epoll (подробности смотрите в epoll_ctl(2)). Поле tfd содержит номер
файлового дескриптора. Поле events представляет собой шестнадцатеричную маску событий, которые
отслеживаются для этого файлового дескриптора. Поле data содержит данные, связанные с этим
файловым дескриптором.
Для файловых дескрипторов signalfd (смотрите signalfd(2)) мы увидим (начиная с Linux 3.8)
следующие поля:
pos: 0
flags: 02
mnt_id: 10
sigmask: 0000000000000006
В sigmask содержится шестнадцатеричная маска сигналов, которые принимаются через этот файловый
дескриптор signalfd (в этом примере биты 2 и 3 установлены, что соответствует сигналам SIGINT и
SIGQUIT; смотрите signal(7)).
Для файловых дескрипторов inotify (смотрите inotify(7)) мы увидим (начиная с Linux 3.8) следующие
поля:
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
Каждая из строк, начинающаяся с «inotify», содержит информацию об одном отслеживаемом файле или
каталоге. Поля в этой строке:
wd Отслеживаемый номер файлового дескриптора (десятичное число).
ino Номер иноды целевого файла (шестнадцатеричное число).
sdev Идентификатор устройства, содержащего целевой файл (шестнадцатеричное число).
mask Маска отслеживаемых событий для целевого файла (шестнадцатеричное число).
Если ядро собрано с поддержкой exportfs, то путь целевого файла представляется в виде описателя
(handle) файла, выраженного тремя шестнадцатеричными полями: fhandle-bytes, fhandle-type и
f_handle.
Для файловых дескрипторов fanotify (смотрите fanotify(7)) мы увидим (начиная с Linux 3.8)
следующие поля:
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
В четвёртой строке содержится информация, определяющая когда была создана с помощью
fanotify_init(2) группа fanotify:
flags Аргумент flags, переданный fanotify_init(2) (шестнадцатеричное число).
event-flags
Аргумент event_f_flags, переданный fanotify_init(2) (шестнадцатеричное число).
В каждой дополнительной строке файла содержится информация об одной из меток в группе fanotify.
Большинство полей аналогичны с inotify, за исключением:
mflags Флаги, связанные с меткой (шестнадцатеричное число).
mask Маска событий, связанная с этой меткой (шестнадцатеричное число).
ignored_mask
Маска событий, которые игнорируются для этой метки (шестнадцатеричное число).
Подробную информацию об этих полях смотрите в fanotify_mark(2).
Для файловых дескрипторов timerfd (смотрите timerfd(2)) мы увидим (начиная с Linux 3.17) следующие
поля:
pos: 0
flags: 02004002
mnt_id: 13
clockid: 0
ticks: 0
settime flags: 03
it_value: (7695568592, 640020877)
it_interval: (0, 0)
clockid
Числовое значение идентификатора часов (соответствует одной из констант CLOCK_*,
определённых в <time.h>), используемое для отметки действия таймера (в этом примере 0 —
CLOCK_REALTIME).
ticks Количество раз прошедших окончаний таймера (т. е., значение, которое вернул бы для него
вызов read(2)).
settime flags
В этом поле перечислены флаги в восьмеричном виде (в этом примере установлены
TFD_TIMER_ABSTIMEи TFD_TIMER_CANCEL_ON_SET), с которым был запущен timerfd последний раз
(смотрите timerfd_settime(2)).
it_value
В этом поле содержит количество времени до следующего истечения таймера, выраженное в
секундах и наносекундах. Это всегда относительное значение, независимо от флага создания
таймера TFD_TIMER_ABSTIME.
it_interval
В этом поле содержится интервал таймера, выраженный в секундах и наносекундах (поля
it_value и it_interval содержат значения, которые вернул бы вызов timerfd_gettime(2) для
этого файлового дескриптора).
СМОТРИТЕ ТАКЖЕ
proc(5)
ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) Alexey, Azamat Hackimov
<azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Darima Kogan
<silverdk99@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов
<pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной
лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских
переводчиков.
Справочные страницы Linux 6.9.1 2 мая 2024 г. proc_pid_fdinfo(5)