.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1994, 1995, Daniel Quinlan .\" Copyright (C) 2002-2008, 2017, Michael Kerrisk .\" Copyright (C) 2023, Alejandro Colomar .\" .\" SPDX-License-Identifier: GPL-3.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH proc_pid_fd 5 "2 mai 2024" "Pages du manuel de Linux 6.9.1" .SH NOM /proc/pid/fd/ \- Descripteurs de fichier .SH DESCRIPTION .TP \fI/proc/\fPpid\fI/fd/\fP Il s'agit d'un sous\-répertoire contenant un enregistrement pour chaque fichier ouvert par le processus. Chaque enregistrement a le descripteur du fichier pour nom, et est un lien symbolique vers le vrai fichier. Ainsi, 0 correspond à l'entrée standard, 1 à la sortie standard, 2 à la sortie d'erreur, etc. .IP Pour les descripteurs de fichier de tubes et de sockets, les enregistrements seront des liens symboliques dont le contenu est le type de fichier avec l’inœud. Un appel de \fBreadlink\fP(2) sur ce fichier renvoie une chaîne au format : .IP .in +4n .EX type:[inœud] .EE .in .IP Par exemple, \fIsocket:[2248868]\fP sera un socket et son inœud est 2248868. Pour les sockets, cet inœud permet de trouver plus de renseignements dans un des fichiers de \fI/proc/net/\fP. .IP Pour les descripteurs de fichier sans inœud correspondant (par exemple les descripteurs de fichier produits par \fBbpf\fP(2), \fBepoll_create\fP(2), \fBeventfd\fP(2), \fBinotify_init\fP(2), \fBperf_event_open\fP(2), \fBsignalfd\fP(2), \fBtimerfd_create\fP(2) et \fBuserfaultfd\fP(2)), l’enregistrement sera un lien symbolique avec un contenu de la forme : .IP .in +4n .EX anon_inode:\fItype_fichier\fP .EE .in .IP Dans de nombreux cas (mais pas tous), le \fItype_fichier\fP est entouré de crochets. .IP Par exemple, un descripteur de fichier epoll aura un lien symbolique dont le contenu est la chaîne \fIanon_inode:[eventpoll]\fP. .IP .\"The following was still true as at kernel 2.6.13 Dans un processus multithread, le contenu de ce répertoire n'est pas disponible si le processus principal est déjà terminé (typiquement par l'appel de \fBpthread_exit\fP(3)). .IP Les programmes qui prennent un nom de fichier comme paramètre de la ligne de commande, mais qui ne prennent pas leur entrée sur l'entrée standard si aucun paramètre n'est fourni, ou qui écrivent dans un fichier indiqué par un paramètre de la ligne de commande sans envoyer la sortie sur la sortie standard si aucun paramètre n'est fourni, peuvent néanmoins utiliser l'entrée standard et la sortie standard par l'intermédiaire des fichiers \fI/proc/\fPpid\fI/fd\fP comme arguments de ligne de commande. Par exemple, en supposant que l'option \fI\-i\fP indique le nom du fichier d'entrée et l'option \fI\-o\fP le nom du fichier de sortie : .IP .in +4n .EX $\fB tototiti \-i /proc/self/fd/0 \-o /proc/self/fd/1 ...\fP .EE .in .IP .\" The following is not true in my tests (MTK): .\" Note that this will not work for .\" programs that seek on their files, as the files in the fd directory .\" are not seekable. et vous avez alors réalisé un filtre fonctionnel. .IP \fI/proc/self/fd/N\fP est approximativement identique à \fI/dev/fd/N\fP sur certains systèmes UNIX ou de type UNIX. En fait, la plupart des scripts MAKEDEV de Linux lient symboliquement \fI/dev/fd\fP à \fI/proc/self/fd\fP. .IP La plupart des systèmes fournissent les liens symboliques \fI/dev/stdin\fP, \fI/dev/stdout\fP et \fI/dev/stderr\fP, qui sont respectivement liés aux fichiers \fI0\fP, \fI1\fP et \fI2\fP de \fI/proc/self/fd\fP. Par conséquent, l'exemple précédent peut être écrit de la façon suivante : .IP .in +4n .EX $\fB tototiti \-i /dev/stdin \-o /dev/stdout ...\fP .EE .in .IP La permission de déréférencer ou de lire (\fBreadlink\fP(2)) ces liens symboliques dans ce répertoire est régie par une vérification du mode d’accès ptrace \fBPTRACE_MODE_READ_FSCREDS\fP ; consulter \fBptrace\fP(2). .IP Remarquez que pour les descripteurs de fichier référençant des inœuds (tubes et sockets, voir ci\-dessus), ces inœuds ont toujours les bits de permission et les informations d’appartenance distincts de ceux de l’enregistrement \fI/proc/\fPpid\fI/fd\fP, et le propriétaire peut être différent des ID utilisateur et groupe du processus. Un processus non privilégié peut ne pas avoir les permissions suffisantes pour les ouvrir, comme dans cet exemple : .IP .in +4n .EX $\fB echo test | sudo \-u nobody cat\fP test $\fB echo test | sudo \-u nobody cat /proc/self/fd/0\fP cat: /proc/self/fd/0: Permission denied .EE .in .IP Le descripteur de fichier 0 se réfère au tube créé par l’interpréteur et ayant pour propriétaire cet utilisateur d’interpréteur, qui est \fInobody\fP, aussi \fBcat\fP n’a pas la permission de créer un nouveau descripteur de fichier pour lire cet inœud, même s’il peut toujours lire à partir de son descripteur de fichier 0 existant. .SH "VOIR AUSSI" \fBproc\fP(5) .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot , Jean-Paul Guillonneau et Lucien Gentis . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .