NOM¶
fifo - Fichier spécial file FIFO, tube nommé
DESCRIPTION¶
Un fichier spécial de file FIFO (First In, First Out) est
l'équivalent d'un tube (pipeline), sauf qu'il est accessible en tant
que partie du système de fichiers. Il peut être ouvert par
plusieurs processus, tant en lecture qu'en écriture. Lorsque des
processus échangent des données par le biais d'une file FIFO, le
noyau transfère les informations de manière interne, sans passer
par une écriture réelle dans le système de fichiers.
Ainsi, le fichier spécial FIFO n'a pas de véritable
contenu ; c'est essentiellement un point de référence
pour que les processus puissent accéder au tube en employant un nom
dans le système de fichiers.
Le noyau assimile exactement un tube à chaque fichier spécial FIFO
ouvert par au moins un processus. La file FIFO doit être ouverte aux
deux extrémités (lecture et écriture) avant que des
données puissent y transiter. Normalement, l'ouverture d'une file FIFO
est bloquante jusqu'à ce que l'autre côté soit aussi
ouvert.
Un processus peut ouvrir une FIFO en mode non bloquant. Dans ce cas, l'ouverture
en lecture seule réussira même si personne n'a encore ouvert le
côté écriture. L'ouverture en écriture seule
échouera avec l'erreur
ENXIO (aucun périphérique
ou adresse) si l'autre extrémité n'a pas encore
été ouverte.
Sous Linux, l'ouverture d'une file FIFO en lecture et écriture
réussira aussi bien en mode bloquant que non bloquant. POSIX ne
précise pas ce comportement. Ceci peut servir à ouvrir une FIFO
en écriture, même si aucun lecteur n'est prêt. Un
processus qui utilise les deux côtés d'une FIFO pour communiquer
avec lui-même doit être très prudent pour éviter
les situations de blocage.
NOTES¶
Quand un processus essaye d'écrire dans une FIFO qui n'a pas
été ouverte en lecture de l'autre côté, le
processus reçoit un signal
SIGPIPE.
Un fichier spécial de file FIFO peut être créé
à l'aide de la fonction
mkfifo(3), et est indiqué par
ls -l avec un type de fichier « p ».
VOIR AUSSI¶
mkfifo(1),
open(2),
pipe(2),
sigaction(2),
signal(2),
socketpair(2),
mkfifo(3),
pipe(7)
COLOPHON¶
Cette page fait partie de la publication 3.65 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Julien Cristau et l'équipe francophone de traduction de
Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce
document en utilisant la commande «
man -L C
<section>
<page_de_man> ».