proc_pid_fdinfo(5)

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

DESCRIPTION
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) :

flags
    l’argument flags indiqué à fanotify_init(2) (exprimé en hexadécimal) ;

event-flags
    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 :

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

HISTORIQUE
Linux 2.6.22.

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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.