FIFOs en linux
24 02 2008
¿Que es un FIFO?
FIFO significa Fist In First Out (primero en entrar, primero en salir) y es utilizado en estruturas de datos para implementar colas. Su comportamiento como se ve es análogo al de una cola donde la primera persona en llegar es la primera en ser atendida.
En GNU/Linux podemos crear objetos tipo fifo en nuestro sistema de archivos. Para ello tenemos el comando mkfifo. Para crear un fichero tipo fifo, también llamado tuberia (pipe) debemos ejecutar:
$ mkfifo nombre_fifo
Para introducir datos en el puedes emplear el operador >
Por ejemplo
$ echo Hola > nombre_fifo
y para extraer datos de el basta por ejemplo ejecutar
$ cat nombre_fifo
Prueba a crear una fifo y desde dos terminales distintas ejecuta los dos comandos anteriores. Verás que cualquiera de ello espera a que el otro escriba o lea los datos que necesita. No importa el orden en el que los ejecutes.
Si ejecutas:
$ ls -l nombre_fifo
Verás que la primera letra que sale, la que corresponde al tipo de fichero es una p de pipe.
A diferencia de las tuberias en linea (|) que sólo sirven para permitir que la salida de una aplicación sea la entrad de otra las fifo también llamadas tuberias con nombre (named pipes) nos permiten además de esta redirección de la salida estandar una redirección de cualquier dato de salida que pueda ser grabado a disco.
Esto es particularmente útil para aplicaciones o grupos de aplicaciones que no soportan tuberias en linea.
Ejemplo:
$ mkfifo mififo
$ lame -q 2 -b 128 mififo output.mp3
$ mplayer input.rm -ao pcm -aofile mififo
Con esto podemos convertir ficheros en formato Real media a mp3
Es posible crear tuberias con nombre empleando el comando mknod, de hecho era el método utilizado para crearlas antes de la aparición del comando mkfifo para simplificar esta tarea.
Mas información en:
Linux Journal
Unix review
Comentarios :
No hay comentarios »
FIFO significa Fist In First Out (primero en entrar, primero en salir) y es utilizado en estruturas de datos para implementar colas. Su comportamiento como se ve es análogo al de una cola donde la primera persona en llegar es la primera en ser atendida.
En GNU/Linux podemos crear objetos tipo fifo en nuestro sistema de archivos. Para ello tenemos el comando mkfifo. Para crear un fichero tipo fifo, también llamado tuberia (pipe) debemos ejecutar:
$ mkfifo nombre_fifo
Para introducir datos en el puedes emplear el operador >
Por ejemplo
$ echo Hola > nombre_fifo
y para extraer datos de el basta por ejemplo ejecutar
$ cat nombre_fifo
Prueba a crear una fifo y desde dos terminales distintas ejecuta los dos comandos anteriores. Verás que cualquiera de ello espera a que el otro escriba o lea los datos que necesita. No importa el orden en el que los ejecutes.
Si ejecutas:
$ ls -l nombre_fifo
Verás que la primera letra que sale, la que corresponde al tipo de fichero es una p de pipe.
A diferencia de las tuberias en linea (|) que sólo sirven para permitir que la salida de una aplicación sea la entrad de otra las fifo también llamadas tuberias con nombre (named pipes) nos permiten además de esta redirección de la salida estandar una redirección de cualquier dato de salida que pueda ser grabado a disco.
Esto es particularmente útil para aplicaciones o grupos de aplicaciones que no soportan tuberias en linea.
Ejemplo:
$ mkfifo mififo
$ lame -q 2 -b 128 mififo output.mp3
$ mplayer input.rm -ao pcm -aofile mififo
Con esto podemos convertir ficheros en formato Real media a mp3
Es posible crear tuberias con nombre empleando el comando mknod, de hecho era el método utilizado para crearlas antes de la aparición del comando mkfifo para simplificar esta tarea.
Mas información en:
Linux Journal
Unix review
Categorías : GNU/Linux
Referencias : 3 Referencias »



Tracked: Feb 27, 18:33
Tracked: Mar 17, 21:52
Tracked: Aug 08, 23:16