02 abril 2012

¿Qué hacer con FIFOs? Fifando con consola...

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:
vampii@scatha:~$ mkfifo fi

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!

No hay comentarios: