/proc/pid/fdinfo/ - Informations sur les descripteurs de
fichier
- /proc/pid/fdinfo/ (depuis Linux 2.6.22)
- Il s'agit d'un sous-répertoire contenant un enregistrement pour
chaque fichier ouvert par le processus, nommé par son descripteur
de fichier. Les fichiers dans ce répertoire ne sont lisibles que
par le propriétaire du processus. Le contenu de chaque fichier peut
être lu afin d'obtenir des informations sur le descripteur de
fichier correspondant. Le contenu dépend du type de fichier
référencé par le descripteur de fichier
correspondant.
- Pour les fichiers normaux et les répertoires, on aura quelque chose
du style :
-
$ cat /proc/12015/fdinfo/4
pos: 1000
flags: 01002002
mnt_id: 21
- Les champs sont les suivants :
- pos
- C’est un nombre décimal affichant le décalage dans le
fichier.
- flags
- C’est un nombre octal affichant le mode d’accès au
fichier et les drapeaux d’états du fichier (consulter
open(2)). Si le drapeau
« close-on-exec » de descripteur de fichier
est défini, alors drapeaux inclura aussi la valeur
O_CLOEXEC.
- Avant Linux 3.1, ce champ affichait de manière incorrecte la
valeur de O_CLOEXEC au moment où le fichier était
ouvert à la place de la valeur en cours du drapeau
« close-on-exec ».
- mnt_id
- Ce champ, présent depuis Linux 3.15, est l’ID du
montage contenant ce fichier. Consulter la description de
/proc/pid/mountinfo.
- Pour les descripteurs de fichier eventfd (consulter eventfd(2)),
les champs suivants (depuis Linux 3.8) sont
affichés :
-
pos: 0
flags: 02
mnt_id: 10
eventfd-count: 40
- eventfd-count est la valeur en cours du compteur eventfd, en
hexadécimal.
- Pour les descripteurs de fichier epoll (consulter epoll(7)), les
champs suivants (depuis Linux 3.8) sont
affichés :
-
pos: 0
flags: 02
mnt_id: 10
tfd: 9 events: 19 data: 74253d2500000009
tfd: 7 events: 19 data: 74253d2500000007
- Chacune des lignes commençant par tfd décrivent un
des descripteurs de fichier supervisés à travers le
descripteur de fichier epoll (consulter epoll_ctl(2) pour plus de
détails). Le champ tfd est le numéro du descripteur
de fichier. Le champ events est un masque hexadécimal des
évènements supervisés pour ce descripteur de fichier.
Le champ data est la valeur des données associées
à ce descripteur de fichier.
- Pour les descripteurs de fichier signalfd (consulter signalfd(2)),
les champs suivants (depuis Linux 3.8) sont
affichés :
-
pos: 0
flags: 02
mnt_id: 10
sigmask: 0000000000000006
- sigmask est le masque hexadécimal de signaux qui sont
acceptés à l’aide du descripteur de fichier signalfd
(dans cet exemple, les bits 2 et 3 sont définis,
correspondant aux signaux SIGINT et SIGQUIT. Consulter
signal(7)).
- Pour les descripteurs de fichier inotify (consulter inotify(7)),
les champs suivants (depuis Linux 3.8) sont
affichés :
-
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
- Chacune des lignes commençant par
« inotify » affiche des informations sur un
fichier ou un répertoire qui est en cours de supervision. Les
champs dans ce genre de ligne sont les suivants :
- wd
- numéro du descripteur de fichier supervisé (en
décimal) ;
- ino
- numéro d’inœud du fichier cible (en
hexadécimal) ;
- sdev
- ID du périphérique dans lequel réside le fichier (en
hexadécimal) ;
- mask
- le masque d’évènements supervisés pour le
fichier cible (en hexadécimal).
- Si le noyau a été construit avec la prise en charge
d’exportfs, le chemin du fichier cible est exposé sous forme
de gestionnaire de fichiers à travers trois champs
hexadécimaux : fhandle-bytes, fhandle-type et
f_handle.
- Pour les descripteurs de fichier fanotify (consulter fanotify(7)),
les champs suivants (depuis Linux 3.8) sont
affichés :
-
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
- La quatrième ligne affiche des informations définies lors de
la création du groupe à travers
fanotify_init(2) :
- Chaque ligne supplémentaire montrée dans le fichier contient
des informations sur une des marques dans le groupe fanotify. La plupart
de ces champs sont comme pour inotify, sauf :
- mflags
- les drapeaux associés à la marque (exprimé en
hexadécimal) ;
- mask
- le masque des évènements pour cette marque (exprimé
en hexadécimal) ;
- ignored_mask
- le masque d’évènements ignorés pour cette
marque (exprimé en hexadécimal).
- Pour plus de détails sur ces champs, consulter
fanotify_mark(2).
- Pour les descripteurs de fichier timerfd (consulter timerfd(2)),
les champs suivants (depuis Linux 3.17) sont
affichés :
-
pos: 0
flags: 02004002
mnt_id: 13
clockid: 0
ticks: 0
settime flags: 03
it_value: (7695568592, 640020877)
it_interval: (0, 0)
- clockid
- C’est la valeur numérique de l’ID d’horloge
(correspondant à une des constantes CLOCK_* définie
à l’aide de <time.h>) qui est utilisée
pour marquer la progression du temporisateur (dans cet exemple, 0
est CLOCK_REALTIME).
- ticks
- C’est le nombre d’expirations du temporisateur qui se sont
produites (c’est-à-dire la valeur que read(2)
exécuté sur lui renverrait).
- settime
flags
- Ce champ liste les drapeaux avec lesquels le timerfd a été
dernièrement armé (consulter timerfd_settime(2)), en
octal (dans cet exemple, TFD_TIMER_ABSTIME et
TFD_TIMER_CANCEL_ON_SET sont définis).
- it_value
- Ce champ contient la durée avant la prochaine expiration du
temporisateur exprimée en secondes et nanosecondes. Cela est
toujours exprimé comme valeur relative, même si le
temporisateur a été créé en utilisant le
drapeau TFD_TIMER_ABSTIME.
- it_interval
- Ce champ contient l’intervalle du temporisateur, en secondes et
nanosecondes (les champs it_value et it_interval contiennent
les valeurs que timerfd_gettime(2) sur ce descripteur de fichier
renverrait).
La traduction française de cette page de manuel a
été créée par Christophe Blaess
<https://www.blaess.fr/christophe/>, Stéphan Rafin
<stephan.rafin@laposte.net>, Thierry Vignaud
<tvignaud@mandriva.com>, François Micaux, Alain Portal
<aportal@univ-montp2.fr>, Jean-Philippe Guérard
<fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh)
<jean-luc.coulon@wanadoo.fr>, Julien Cristau
<jcristau@debian.org>, Thomas Huriaux
<thomas.huriaux@gmail.com>, Nicolas François
<nicolas.francois@centraliens.net>, Florentin Duneau
<fduneau@gmail.com>, Simon Paillard
<simon.paillard@resel.enst-bretagne.fr>, Denis Barbier
<barbier@debian.org>, David Prévot <david@tilapin.org>,
Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr> et Lucien Gentis
<lucien.gentis@waika9.com>
Cette traduction est une documentation libre ; veuillez
vous reporter à la
GNU General
Public License version 3 concernant les conditions de copie et de
distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page
de manuel, veuillez envoyer un message à
debian-l10n-french@lists.debian.org.