.\" This man page is Copyright (C) 1999 Claus Fischer. .\" Permission is granted to distribute possibly modified copies .\" of this page provided the header is included verbatim, .\" and in case of nontrivial modification author and date .\" of the modification is added to the header. .\" .\" 990620 - page created - aeb@cwi.nl .\" .\" Translated Wed May 3 2000 by Juan Piernas .\" .TH FIFO 4 "20 junio 1999" "Página Man de Linux" "Manual del Programador de Linux" .SH NOMBRE fifo \- fichero especial "primero en entrar, primero en salir", tubería con nombre .SH DESCRIPCIÓN Un fichero especial FIFO (una tubería con nombre) es similar a una tubería, salvo que se accede a él como parte del sistema de ficheros. Puede ser abierto por múltiples procesos para lectura o escritura. Cuando los procesos intercambian datos a través de la FIFO, el núcleo pasa todos los datos internamente sin escribirlos en el sistema de ficheros. Por tanto, el fichero especial FIFO no tiene contenido en el sistema de ficheros, la entrada del sistema de ficheros simplemente sirve como un punto de referencia de tal manera que los procesos puedan acceder a la tubería usando un nombre del sistema de ficheros. .PP El núcleo mantiene exactamente un único objeto tubería para cada fichero especial FIFO que es abierto por, al menos, un proceso. Se debe abrir la FIFO en ambos extremos (de lectura y escritura) antes de que se puedan pasar datos. Normalmente, la apertura de la FIFO se bloquea hasta que el otro extremo también se abre. .PP Un proceso puede abrir una FIFO en modo no bloqueante. En este caso, abrir para sólo lectura tendrá éxito incluso si nadie ha abierto todavía el lado de escritura. Abrir para sólo escritura fallará con una ENXIO (no existe tal dispositivo o dirección) a menos que el otro extremo ya se haya abierto. .PP En Linux, abrir una FIFO para lectura y escritura tendrá éxito tanto en modo bloqueante como no bloqueante. POSIX deja sin definir este comportamiento. Esto se puede usar para abrir una FIFO para escribir mientras no hay lectores disponibles. Un proceso que usa ambos extremos de la conexión para comunicarse consigo mismo debería tener cuiado para evitar bloqueos mortales. .SH OBSERVACIONES Cuando un proceso intenta escribir en una FIFO que no está abierta para lectura en el otro lado, se le envía una señal SIGPIPE. Los ficheros especiales FIFO se pueden crear con .BR mkfifo (3) y se indican de manera especial en .IR "ls -l" . .SH "VÉASE TAMBIÉN" .BR mkfifo (3), .BR mkfifo (1), .BR pipe (2), .BR socketpair (2), .BR open (2), .BR signal (2), .BR sigaction (2)