Provided by: manpages-ru_4.23.1-1_all bug

ИМЯ

       /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>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.

Linux man-pages 6.8                               2 мая 2024 г.                               proc_pid_fdinfo(5)