Un FIFO (First In First Out) es una lista de la que sólo se puede sacar el primer elemento metido (a diferencia de la pila, que es LIFO). Imagina a Don FIFO como una cinta transportadora en la que se van poniendo objetos en un cierto orden y en el otro extremo alguien los va tomando mientras llegan (primero el 1º, luego el 2º, etc.). Como ves, el FIFO sólo hace de intermediario.
Con Linux o con BSD podemos crear fifos, y es muy sencillo, hace:
Con Linux o con BSD podemos crear fifos, y es muy sencillo, hace:
vampii@scatha:~$ mkfifo fi
y creaste uno
vampii@scatha:~$ ls -l
te lo muestra como tal. Ahora hace un
y creaste uno
vampii@scatha:~$ ls -l
te lo muestra como tal. Ahora hace un
vampii@scatha:~$ cat fi
se queda parado y en otra consola un
vampii@scatha:~$ echo Hola >fi.
Vas a ver que el cat que estaba esperando datos ya los ha recibido; el fifo ha hecho su trabajo.
Podes hacer cosas muy raras con fifos: por ejemplo, imaginate que decis a cdrecord que te grabe la ISO mififo (se quedaría esperando a que le entre contenido al fifo) y después haces un:
vampii@scatha:~$ wget servidor_muy_veloz.com/linux.iso -O mififo
(esto especifica el archivo de destino). ¡Estas grabando un CD al mismo tiempo que lo descargas! Usa la imaginación para descubrir otros utilidades...
¡Que te diviertas y a fifar se ha dicho!
se queda parado y en otra consola un
vampii@scatha:~$ echo Hola >fi.
Vas a ver que el cat que estaba esperando datos ya los ha recibido; el fifo ha hecho su trabajo.
Podes hacer cosas muy raras con fifos: por ejemplo, imaginate que decis a cdrecord que te grabe la ISO mififo (se quedaría esperando a que le entre contenido al fifo) y después haces un:
vampii@scatha:~$ wget servidor_muy_veloz.com/linux.iso -O mififo
(esto especifica el archivo de destino). ¡Estas grabando un CD al mismo tiempo que lo descargas! Usa la imaginación para descubrir otros utilidades...
¡Que te diviertas y a fifar se ha dicho!
No hay comentarios:
Publicar un comentario