Scroll to navigation

proc_pid_fdinfo(5) File Formats Manual proc_pid_fdinfo(5)

NOM

/proc/pid/fdinfo/ - Informations sur les descripteurs de fichier

DESCRIPTION

/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 :
C’est un nombre décimal affichant le décalage dans le fichier.
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 ».
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 :
numéro du descripteur de fichier supervisé (en décimal) ;
numéro d’inœud du fichier cible (en hexadécimal) ;
ID du périphérique dans lequel réside le fichier (en hexadécimal) ;
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) :
l’argument flags indiqué à fanotify_init(2) (exprimé en hexadécimal) ;
l’argument event_f_flags indiqué à fanotify_init(2) (exprimé en hexadécimal).
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 :
les drapeaux associés à la marque (exprimé en hexadécimal) ;
le masque des évènements pour cette marque (exprimé en hexadécimal) ;
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)
    

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).
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).
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).
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.
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).

VOIR AUSSI

proc(5)

TRADUCTION

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.

2 mai 2024 Pages du manuel de Linux 6.8