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.44 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> ».