.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1994, 1995, Daniel Quinlan .\" Copyright (C) 2002-2008, 2017, Michael Kerrisk .\" Copyright (C) 2023, Alejandro Colomar .\" .\" SPDX-License-Identifier: GPL-3.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH proc_pid_fdinfo 5 "2 мая 2024 г." "Справочные страницы Linux 6.9.1" .SH ИМЯ /proc/pid/fdinfo/ \- information about file descriptors .SH ОПИСАНИЕ .TP \fI/proc/\fPpid\fI/fdinfo/\fP (начиная с Linux 2.6.22) Этот подкаталог содержит один элемент на каждый файл, который открыл процесс, именем файла будет номер его файлового дескриптора. Файлы в этом каталоге доступны на чтение только владельцу процесса. Содержимое каждого файла может быть прочитано для получения информации о соответствующем файловом дескрипторе. Содержимое зависит от типа файла, на который ссылается соответствующий файловый дескриптор. .IP Для обычных файлов и каталогов содержимым будет, что\-то типа: .IP .in +4n .EX $\fB cat /proc/12015/fdinfo/4\fP pos: 1000 flags: 01002002 mnt_id: 21 .EE .in .IP Поля: .RS .TP \fIpos\fP Это десятичное число отражает смещение файла. .TP \fIflags\fP Это восьмеричное число отражает режим доступа к файлу и флаги состояния файла (смотрите \fBopen\fP(2)). Если установлен флаг файлового дескриптора close\-on\-exec, то \fIflags\fP также содержат значение \fBO_CLOEXEC\fP. .IP .\" commit 1117f72ea0217ba0cc19f05adbbd8b9a397f5ab7 До Linux 3.1 в этом поле некорректно показывалось значение \fBO_CLOEXEC\fP верное на момент открытия файла, а не текущее значение флага close\-on\-exec. .TP \fImnt_id\fP .\" commit 49d063cb353265c3af701bab215ac438ca7df36d This field, present since Linux 3.15, is the ID of the mount containing this file. See the description of \fI/proc/\fPpid\fI/mountinfo\fP. .RE .IP .\" commit cbac5542d48127b546a23d816380a7926eee1c25 Для файловых дескрипторов eventfd (смотрите \fBeventfd\fP(2)) мы увидим (начиная с Linux 3.8) следующие поля: .IP .in +4n .EX pos: 0 flags: 02 mnt_id: 10 eventfd\-count: 40 .EE .in .IP В \fIeventfd\-count\fP содержится текущее значение счётчика eventfd counter (в виде шестнадцатеричного числа). .IP .\" commit 138d22b58696c506799f8de759804083ff9effae Для файловых дескрипторов epoll (смотрите \fBepoll\fP(7)) мы увидим (начиная с Linux 3.8) следующие поля: .IP .in +4n .EX pos: 0 flags: 02 mnt_id: 10 tfd: 9 events: 19 data: 74253d2500000009 tfd: 7 events: 19 data: 74253d2500000007 .EE .in .IP Каждая строка, начинающаяся с \fItfd\fP, описывает один из файловых дескрипторов, который отслеживается через файловый дескриптор epoll (подробности смотрите в \fBepoll_ctl\fP(2)). Поле \fItfd\fP содержит номер файлового дескриптора. Поле \fIevents\fP представляет собой шестнадцатеричную маску событий, которые отслеживаются для этого файлового дескриптора. Поле \fIdata\fP содержит данные, связанные с этим файловым дескриптором. .IP .\" commit 138d22b58696c506799f8de759804083ff9effae Для файловых дескрипторов signalfd (смотрите \fBsignalfd\fP(2)) мы увидим (начиная с Linux 3.8) следующие поля: .IP .in +4n .EX pos: 0 flags: 02 mnt_id: 10 sigmask: 0000000000000006 .EE .in .IP В \fIsigmask\fP содержится шестнадцатеричная маска сигналов, которые принимаются через этот файловый дескриптор signalfd (в этом примере биты 2 и 3 установлены, что соответствует сигналам \fBSIGINT\fP и \fBSIGQUIT\fP; смотрите \fBsignal\fP(7)). .IP Для файловых дескрипторов inotify (смотрите \fBinotify\fP(7)) мы увидим (начиная с Linux 3.8) следующие поля: .IP .in +4n .EX 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 .EE .in .IP Каждая из строк, начинающаяся с «inotify», содержит информацию об одном отслеживаемом файле или каталоге. Поля в этой строке: .RS .TP \fIwd\fP Отслеживаемый номер файлового дескриптора (десятичное число). .TP \fIino\fP Номер иноды целевого файла (шестнадцатеричное число). .TP \fIsdev\fP Идентификатор устройства, содержащего целевой файл (шестнадцатеричное число). .TP \fImask\fP Маска отслеживаемых событий для целевого файла (шестнадцатеричное число). .RE .IP Если ядро собрано с поддержкой exportfs, то путь целевого файла представляется в виде описателя (handle) файла, выраженного тремя шестнадцатеричными полями: \fIfhandle\-bytes\fP, \fIfhandle\-type\fP и \fIf_handle\fP. .IP Для файловых дескрипторов fanotify (смотрите \fBfanotify\fP(7)) мы увидим (начиная с Linux 3.8) следующие поля: .IP .in +4n .EX 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 .EE .in .IP В четвёртой строке содержится информация, определяющая когда была создана с помощью \fBfanotify_init\fP(2) группа fanotify: .RS .TP \fIflags\fP Аргумент \fIflags\fP, переданный \fBfanotify_init\fP(2) (шестнадцатеричное число). .TP \fIevent\-flags\fP Аргумент \fIevent_f_flags\fP, переданный \fBfanotify_init\fP(2) (шестнадцатеричное число). .RE .IP В каждой дополнительной строке файла содержится информация об одной из меток в группе fanotify. Большинство полей аналогичны с inotify, за исключением: .RS .TP \fImflags\fP Флаги, связанные с меткой (шестнадцатеричное число). .TP \fImask\fP Маска событий, связанная с этой меткой (шестнадцатеричное число). .TP \fIignored_mask\fP Маска событий, которые игнорируются для этой метки (шестнадцатеричное число). .RE .IP Подробную информацию об этих полях смотрите в \fBfanotify_mark\fP(2). .IP .\" commit af9c4957cf212ad9cf0bee34c95cb11de5426e85 Для файловых дескрипторов timerfd (смотрите \fBtimerfd\fP(2)) мы увидим (начиная с Linux 3.17) следующие поля: .IP .in +4n .EX pos: 0 flags: 02004002 mnt_id: 13 clockid: 0 ticks: 0 settime flags: 03 it_value: (7695568592, 640020877) it_interval: (0, 0) .EE .in .RS .TP \fIclockid\fP Числовое значение идентификатора часов (соответствует одной из констант \fBCLOCK_*\fP, определённых в \fI\fP), используемое для отметки действия таймера (в этом примере 0 — \fBCLOCK_REALTIME\fP). .TP \fIticks\fP Количество раз прошедших окончаний таймера (т. е., значение, которое вернул бы для него вызов \fBread\fP(2)). .TP \fIsettime flags\fP В этом поле перечислены флаги в восьмеричном виде (в этом примере установлены \fBTFD_TIMER_ABSTIME\fPи \fBTFD_TIMER_CANCEL_ON_SET\fP), с которым был запущен timerfd последний раз (смотрите \fBtimerfd_settime\fP(2)). .TP \fIit_value\fP В этом поле содержит количество времени до следующего истечения таймера, выраженное в секундах и наносекундах. Это всегда относительное значение, независимо от флага создания таймера \fBTFD_TIMER_ABSTIME\fP. .TP \fIit_interval\fP В этом поле содержится интервал таймера, выраженный в секундах и наносекундах (поля \fIit_value\fP и \fIit_interval\fP содержат значения, которые вернул бы вызов \fBtimerfd_gettime\fP(2) для этого файлового дескриптора). .RE .SH "СМОТРИТЕ ТАКЖЕ" \fBproc\fP(5) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Alexey, Azamat Hackimov , kogamatranslator49 , Darima Kogan , Max Is , Yuri Kozlov и Иван Павлов . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .