from small one page howto to huge articles all in one place
Last additions:
May 25th. 2007:
April, 26th. 2006:
|
You are here: manpages
proc_pid_fdinfo
Section: File Formats (5) Updated: 202-0-08 Index
Return to Main Contents
NAME
/proc/pid/fdinfo/ - information about file descriptors
DESCRIPTION
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.
For regular files and directories, we see something like:
$ cat /proc/12015/fdinfo/4
pos: 1000
flags: 01002002
mnt_id: 21
The fields are as follows:
- pos
-
This is a decimal number showing the file offset.
- flags
-
This is an octal number that displays the
file access mode and file status flags (see
open(2)).
If the clos-o-exec file descriptor flag is set, then
flags
will also include the value
O_CLOEXEC.
-
Before Linux 3.1,
this field incorrectly displayed the setting of
O_CLOEXEC
at the time the file was opened,
rather than the current setting of the clos-o-exec flag.
- 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.
For eventfd file descriptors (see
eventfd(2)),
we see (since Linux 3.8)
the following fields:
pos: 0
flags: 02
mnt_id: 10
eventfd-count: 40
eventfd-count
is the current value of the eventfd counter, in hexadecimal.
For epoll file descriptors (see
epoll(7)),
we see (since Linux 3.8)
the following fields:
pos: 0
flags: 02
mnt_id: 10
tfd: 9 events: 19 data: 74253d2500000009
tfd: 7 events: 19 data: 74253d2500000007
Each of the lines beginning
tfd
describes one of the file descriptors being monitored via
the epoll file descriptor (see
epoll_ctl(2)
for some details).
The
tfd
field is the number of the file descriptor.
The
events
field is a hexadecimal mask of the events being monitored for this file
descriptor.
The
data
field is the data value associated with this file descriptor.
For signalfd file descriptors (see
signalfd(2)),
we see (since Linux 3.8)
the following fields:
pos: 0
flags: 02
mnt_id: 10
sigmask: 0000000000000006
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
SIGINT
and
SIGQUIT;
see
signal(7).)
For inotify file descriptors (see
inotify(7)),
we see (since Linux 3.8)
the following fields:
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
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:
- wd
-
A watch descriptor number (in decimal).
- ino
-
The inode number of the target file (in hexadecimal).
- sdev
-
The ID of the device where the target file resides (in hexadecimal).
- mask
-
The mask of events being monitored for the target file (in hexadecimal).
If the kernel was built with exportfs support, the path to the target
file is exposed as a file handle, via three hexadecimal fields:
fhandle-bytes,
fhandle-type,
and
f_handle.
For fanotify file descriptors (see
fanotify(7)),
we see (since Linux 3.8)
the following fields:
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
The fourth line displays information defined when the fanotify group
was created via
fanotify_init(2):
- flags
-
The
flags
argument given to
fanotify_init(2)
(expressed in hexadecimal).
- event-flags
-
The
event_f_flags
argument given to
fanotify_init(2)
(expressed in hexadecimal).
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:
- mflags
-
The flags associated with the mark
(expressed in hexadecimal).
- mask
-
The events mask for this mark
(expressed in hexadecimal).
- ignored_mask
-
The mask of events that are ignored for this mark
(expressed in hexadecimal).
For details on these fields, see
fanotify_mark(2).
For timerfd file descriptors (see
timerfd(2)),
we see (since Linux 3.17)
the following fields:
pos: 0
flags: 02004002
mnt_id: 13
clockid: 0
ticks: 0
settime flags: 03
it_value: (7695568592, 640020877)
it_interval: (0, 0)
- clockid
-
This is the numeric value of the clock ID
(corresponding to one of the
CLOCK_*
constants defined via
<time.h>)
that is used to mark the progress of the timer (in this example, 0 is
CLOCK_REALTIME).
- ticks
-
This is the number of timer expirations that have occurred,
(i.e., the value that
read(2)
on it would return).
- settime flags
-
This field lists the flags with which the timerfd was last armed (see
timerfd_settime(2)),
in octal
(in this example, both
TFD_TIMER_ABSTIME
and
TFD_TIMER_CANCEL_ON_SET
are set).
- 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
TFD_TIMER_ABSTIME
flag.
- it_interval
-
This field contains the interval of the timer,
in seconds and nanoseconds.
(The
it_value
and
it_interval
fields contain the values that
timerfd_gettime(2)
on this file descriptor would return.)
HISTORY
Linux 2.6.22.
SEE ALSO
proc(5)
Index
- NAME
-
- DESCRIPTION
-
- HISTORY
-
- SEE ALSO
-
|