diff options
| author | Alejandro Colomar <alx@kernel.org> | 2023-08-14 15:29:20 +0200 |
|---|---|---|
| committer | Alejandro Colomar <alx@kernel.org> | 2023-08-15 23:07:10 +0200 |
| commit | a134ccd5882bfe76b4f34d2b4a4bed53c41e162f (patch) | |
| tree | 7f45e5ac83b4388fd4f6d87fe645856e38b73d19 /man5 | |
| parent | b10e98351030c68c57eb6cad9fcfa3543eb813d1 (diff) | |
| download | man-pages-a134ccd5882bfe76b4f34d2b4a4bed53c41e162f.tar.gz | |
proc.5, proc_pid_fdinfo.5: Split /proc/PID/fdinfo/ from proc(5)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Diffstat (limited to 'man5')
| -rw-r--r-- | man5/proc.5 | 288 | ||||
| -rw-r--r-- | man5/proc_pid_fdinfo.5 | 300 |
2 files changed, 300 insertions, 288 deletions
diff --git a/man5/proc.5 b/man5/proc.5 index f877d78f8c..dd100f80df 100644 --- a/man5/proc.5 +++ b/man5/proc.5 @@ -267,294 +267,6 @@ Therefore, it may be desirable to reset the "dumpable" attribute .I after making any desired changes to the process's effective UID or GID. .TP -.IR /proc/ pid /fdinfo/ " (since Linux 2.6.22)" -This is a subdirectory containing one entry for each file which the -process has open, named by its file descriptor. -The files in this directory are readable only by the owner of the process. -The contents of each file can be read to obtain information -about the corresponding file descriptor. -The content depends on the type of file referred to by the -corresponding file descriptor. -.IP -For regular files and directories, we see something like: -.IP -.in +4n -.EX -.RB "$" " cat /proc/12015/fdinfo/4" -pos: 1000 -flags: 01002002 -mnt_id: 21 -.EE -.in -.IP -The fields are as follows: -.RS -.TP -.I pos -This is a decimal number showing the file offset. -.TP -.I flags -This is an octal number that displays the -file access mode and file status flags (see -.BR open (2)). -If the close-on-exec file descriptor flag is set, then -.I flags -will also include the value -.BR O_CLOEXEC . -.IP -Before Linux 3.1, -.\" commit 1117f72ea0217ba0cc19f05adbbd8b9a397f5ab7 -this field incorrectly displayed the setting of -.B O_CLOEXEC -at the time the file was opened, -rather than the current setting of the close-on-exec flag. -.TP -.I -.I mnt_id -This field, present since Linux 3.15, -.\" commit 49d063cb353265c3af701bab215ac438ca7df36d -is the ID of the mount containing this file. -See the description of -.IR /proc/ pid /mountinfo . -.RE -.IP -For eventfd file descriptors (see -.BR eventfd (2)), -we see (since Linux 3.8) -.\" commit cbac5542d48127b546a23d816380a7926eee1c25 -the following fields: -.IP -.in +4n -.EX -pos: 0 -flags: 02 -mnt_id: 10 -eventfd\-count: 40 -.EE -.in -.IP -.I eventfd\-count -is the current value of the eventfd counter, in hexadecimal. -.IP -For epoll file descriptors (see -.BR epoll (7)), -we see (since Linux 3.8) -.\" commit 138d22b58696c506799f8de759804083ff9effae -the following fields: -.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 -Each of the lines beginning -.I tfd -describes one of the file descriptors being monitored via -the epoll file descriptor (see -.BR epoll_ctl (2) -for some details). -The -.I tfd -field is the number of the file descriptor. -The -.I events -field is a hexadecimal mask of the events being monitored for this file -descriptor. -The -.I data -field is the data value associated with this file descriptor. -.IP -For signalfd file descriptors (see -.BR signalfd (2)), -we see (since Linux 3.8) -.\" commit 138d22b58696c506799f8de759804083ff9effae -the following fields: -.IP -.in +4n -.EX -pos: 0 -flags: 02 -mnt_id: 10 -sigmask: 0000000000000006 -.EE -.in -.IP -.I sigmask -is the hexadecimal mask of signals that are accepted via this -signalfd file descriptor. -(In this example, bits 2 and 3 are set, corresponding to the signals -.B SIGINT -and -.BR SIGQUIT ; -see -.BR signal (7).) -.IP -For inotify file descriptors (see -.BR inotify (7)), -we see (since Linux 3.8) -the following fields: -.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 -Each of the lines beginning with "inotify" displays information about -one file or directory that is being monitored. -The fields in this line are as follows: -.RS -.TP -.I wd -A watch descriptor number (in decimal). -.TP -.I ino -The inode number of the target file (in hexadecimal). -.TP -.I sdev -The ID of the device where the target file resides (in hexadecimal). -.TP -.I mask -The mask of events being monitored for the target file (in hexadecimal). -.RE -.IP -If the kernel was built with exportfs support, the path to the target -file is exposed as a file handle, via three hexadecimal fields: -.IR fhandle\-bytes , -.IR fhandle\-type , -and -.IR f_handle . -.IP -For fanotify file descriptors (see -.BR fanotify (7)), -we see (since Linux 3.8) -the following fields: -.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 -The fourth line displays information defined when the fanotify group -was created via -.BR fanotify_init (2): -.RS -.TP -.I flags -The -.I flags -argument given to -.BR fanotify_init (2) -(expressed in hexadecimal). -.TP -.I event\-flags -The -.I event_f_flags -argument given to -.BR fanotify_init (2) -(expressed in hexadecimal). -.RE -.IP -Each additional line shown in the file contains information -about one of the marks in the fanotify group. -Most of these fields are as for inotify, except: -.RS -.TP -.I mflags -The flags associated with the mark -(expressed in hexadecimal). -.TP -.I mask -The events mask for this mark -(expressed in hexadecimal). -.TP -.I ignored_mask -The mask of events that are ignored for this mark -(expressed in hexadecimal). -.RE -.IP -For details on these fields, see -.BR fanotify_mark (2). -.IP -For timerfd file descriptors (see -.BR timerfd (2)), -we see (since Linux 3.17) -.\" commit af9c4957cf212ad9cf0bee34c95cb11de5426e85 -the following fields: -.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 -.I clockid -This is the numeric value of the clock ID -(corresponding to one of the -.B CLOCK_* -constants defined via -.IR <time.h> ) -that is used to mark the progress of the timer (in this example, 0 is -.BR CLOCK_REALTIME ). -.TP -.I ticks -This is the number of timer expirations that have occurred, -(i.e., the value that -.BR read (2) -on it would return). -.TP -.I settime flags -This field lists the flags with which the timerfd was last armed (see -.BR timerfd_settime (2)), -in octal -(in this example, both -.B TFD_TIMER_ABSTIME -and -.B TFD_TIMER_CANCEL_ON_SET -are set). -.TP -.I it_value -This field contains the amount of time until the timer will next expire, -expressed in seconds and nanoseconds. -This is always expressed as a relative value, -regardless of whether the timer was created using the -.B TFD_TIMER_ABSTIME -flag. -.TP -.I it_interval -This field contains the interval of the timer, -in seconds and nanoseconds. -(The -.I it_value -and -.I it_interval -fields contain the values that -.BR timerfd_gettime (2) -on this file descriptor would return.) -.RE -.TP .IR /proc/ pid /gid_map " (since Linux 3.5)" See .BR user_namespaces (7). diff --git a/man5/proc_pid_fdinfo.5 b/man5/proc_pid_fdinfo.5 new file mode 100644 index 0000000000..1e23bbe02d --- /dev/null +++ b/man5/proc_pid_fdinfo.5 @@ -0,0 +1,300 @@ +.\" Copyright (C) 1994, 1995, Daniel Quinlan <quinlan@yggdrasil.com> +.\" Copyright (C) 2002-2008, 2017, Michael Kerrisk <mtk.manpages@gmail.com> +.\" Copyright (C) 2023, Alejandro Colomar <alx@kernel.org> +.\" +.\" SPDX-License-Identifier: GPL-3.0-or-later +.\" +.TH proc_pid_fdinfo 5 (date) "Linux man-pages (unreleased)" +.SH NAME +/proc/pid/fdinfo/ \- information about file descriptors +.SH DESCRIPTION +.TP +.IR /proc/ pid /fdinfo/ " (since Linux 2.6.22)" +This is a subdirectory containing one entry for each file which the +process has open, named by its file descriptor. +The files in this directory are readable only by the owner of the process. +The contents of each file can be read to obtain information +about the corresponding file descriptor. +The content depends on the type of file referred to by the +corresponding file descriptor. +.IP +For regular files and directories, we see something like: +.IP +.in +4n +.EX +.RB "$" " cat /proc/12015/fdinfo/4" +pos: 1000 +flags: 01002002 +mnt_id: 21 +.EE +.in +.IP +The fields are as follows: +.RS +.TP +.I pos +This is a decimal number showing the file offset. +.TP +.I flags +This is an octal number that displays the +file access mode and file status flags (see +.BR open (2)). +If the close-on-exec file descriptor flag is set, then +.I flags +will also include the value +.BR O_CLOEXEC . +.IP +Before Linux 3.1, +.\" commit 1117f72ea0217ba0cc19f05adbbd8b9a397f5ab7 +this field incorrectly displayed the setting of +.B O_CLOEXEC +at the time the file was opened, +rather than the current setting of the close-on-exec flag. +.TP +.I +.I mnt_id +This field, present since Linux 3.15, +.\" commit 49d063cb353265c3af701bab215ac438ca7df36d +is the ID of the mount containing this file. +See the description of +.IR /proc/ pid /mountinfo . +.RE +.IP +For eventfd file descriptors (see +.BR eventfd (2)), +we see (since Linux 3.8) +.\" commit cbac5542d48127b546a23d816380a7926eee1c25 +the following fields: +.IP +.in +4n +.EX +pos: 0 +flags: 02 +mnt_id: 10 +eventfd\-count: 40 +.EE +.in +.IP +.I eventfd\-count +is the current value of the eventfd counter, in hexadecimal. +.IP +For epoll file descriptors (see +.BR epoll (7)), +we see (since Linux 3.8) +.\" commit 138d22b58696c506799f8de759804083ff9effae +the following fields: +.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 +Each of the lines beginning +.I tfd +describes one of the file descriptors being monitored via +the epoll file descriptor (see +.BR epoll_ctl (2) +for some details). +The +.I tfd +field is the number of the file descriptor. +The +.I events +field is a hexadecimal mask of the events being monitored for this file +descriptor. +The +.I data +field is the data value associated with this file descriptor. +.IP +For signalfd file descriptors (see +.BR signalfd (2)), +we see (since Linux 3.8) +.\" commit 138d22b58696c506799f8de759804083ff9effae +the following fields: +.IP +.in +4n +.EX +pos: 0 +flags: 02 +mnt_id: 10 +sigmask: 0000000000000006 +.EE +.in +.IP +.I sigmask +is the hexadecimal mask of signals that are accepted via this +signalfd file descriptor. +(In this example, bits 2 and 3 are set, corresponding to the signals +.B SIGINT +and +.BR SIGQUIT ; +see +.BR signal (7).) +.IP +For inotify file descriptors (see +.BR inotify (7)), +we see (since Linux 3.8) +the following fields: +.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 +Each of the lines beginning with "inotify" displays information about +one file or directory that is being monitored. +The fields in this line are as follows: +.RS +.TP +.I wd +A watch descriptor number (in decimal). +.TP +.I ino +The inode number of the target file (in hexadecimal). +.TP +.I sdev +The ID of the device where the target file resides (in hexadecimal). +.TP +.I mask +The mask of events being monitored for the target file (in hexadecimal). +.RE +.IP +If the kernel was built with exportfs support, the path to the target +file is exposed as a file handle, via three hexadecimal fields: +.IR fhandle\-bytes , +.IR fhandle\-type , +and +.IR f_handle . +.IP +For fanotify file descriptors (see +.BR fanotify (7)), +we see (since Linux 3.8) +the following fields: +.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 +The fourth line displays information defined when the fanotify group +was created via +.BR fanotify_init (2): +.RS +.TP +.I flags +The +.I flags +argument given to +.BR fanotify_init (2) +(expressed in hexadecimal). +.TP +.I event\-flags +The +.I event_f_flags +argument given to +.BR fanotify_init (2) +(expressed in hexadecimal). +.RE +.IP +Each additional line shown in the file contains information +about one of the marks in the fanotify group. +Most of these fields are as for inotify, except: +.RS +.TP +.I mflags +The flags associated with the mark +(expressed in hexadecimal). +.TP +.I mask +The events mask for this mark +(expressed in hexadecimal). +.TP +.I ignored_mask +The mask of events that are ignored for this mark +(expressed in hexadecimal). +.RE +.IP +For details on these fields, see +.BR fanotify_mark (2). +.IP +For timerfd file descriptors (see +.BR timerfd (2)), +we see (since Linux 3.17) +.\" commit af9c4957cf212ad9cf0bee34c95cb11de5426e85 +the following fields: +.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 +.I clockid +This is the numeric value of the clock ID +(corresponding to one of the +.B CLOCK_* +constants defined via +.IR <time.h> ) +that is used to mark the progress of the timer (in this example, 0 is +.BR CLOCK_REALTIME ). +.TP +.I ticks +This is the number of timer expirations that have occurred, +(i.e., the value that +.BR read (2) +on it would return). +.TP +.I settime flags +This field lists the flags with which the timerfd was last armed (see +.BR timerfd_settime (2)), +in octal +(in this example, both +.B TFD_TIMER_ABSTIME +and +.B TFD_TIMER_CANCEL_ON_SET +are set). +.TP +.I it_value +This field contains the amount of time until the timer will next expire, +expressed in seconds and nanoseconds. +This is always expressed as a relative value, +regardless of whether the timer was created using the +.B TFD_TIMER_ABSTIME +flag. +.TP +.I it_interval +This field contains the interval of the timer, +in seconds and nanoseconds. +(The +.I it_value +and +.I it_interval +fields contain the values that +.BR timerfd_gettime (2) +on this file descriptor would return.) +.RE +.SH SEE ALSO +.BR proc (5) |
