d.sastre.med...@gmail.com escribió:
On Fri, Dec 04, 2009 at 02:17:50PM -0800, Rodrigo Gallardo wrote:
On Fri, Dec 04, 2009 at 04:08:15PM -0300, Enzo Cappa wrote:
¡Hola!
¿Alguien sabe si es posible construir un pipe entre tres procesos, un
productor y dos consumidores?
Es decir, por ej., hacer un hecho de uno y que eso lo lean otro dos procesos
simultáneamente.
Si es posible, por favor ayudenme a descubrir como.
No, no se puede.
En principio podrías pasarle el descriptor de archivo del lado de
lectura a cualquier número de procesos, pero cada byte que se escriba
en el pipe puede ser leido por cualquiera de ellos y no hay ninguna
garantía de cual va a ganar. Cualquier resultado desde "repartir un
byte a cada lector en orden" hasta "un sólo lector recibe todo y los
demás nada" es perfectamente válido.
Probablemente lo que tendrás que hacer es escribir un proceso
multiplexor, que lea del pipe y lo reparta con el criterio que desees
a los demás.
Hola,
Por lo que he entendido, quieres hacer algo como (de la info de
coreutils):
* tee invocation:: Redirect output to multiple files or
* processes.
wget -O - http://example.com/dvd.iso \
| tee >(sha1sum > dvd.sha1) \
>(md5sum > dvd.md5) \
> dvd.iso
tardir=your-pkg-M.N
tar chof - "$tardir" \
| tee >(gzip -9 -c > your-pkg-M.N.tar.gz) \
| bzip2 -9 -c > your-pkg-M.N.tar.bz2
¿Es algo como esto lo que quieres hacer?
Consulta info coreutils (tee) para más información.
Saludos.
Pero hay que aclarar que es una redirección, no un pipe
Saludos
--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org