Re: Pipes en Linux
On Thu, Jan 21, 1999 at 09:45:28AM +0100, Antonio Castro wrote: > Estamos hablando de los límites para el número de ficheros abiertos así > que no pensaras que solo puede haber 256 ficheros en tu Linux no ? > El maximo de 256 se refiere a el número de ficheros abiertos en el > sistemas. Todos los pipes tienen dos descriptores. Uno de entrada y > otro de salida. Cada proceso que habrá el pipe lo hará con un descriptor > distinto. Allí entonces me surje una duda... cuando dije que un 'pipe' era un archivo debí ser un poco más explícito... popen devuelve un puntero a FILE (ergo, "un pipe es un archivo"... efectos de una traducción mala y apresurada). Cuando yo escribo (fprintf et al) a este archivo uso la misma variable que cuando lo leo. En _IO_FILE (que es lo que FILE es a final de cuentas) hay *un* número para el descriptor del archivo (sii estoy leyendo bien la definición del tipo -- es muy probable que esto sea donde estoy mal) Por otro lado, 'pipe' si devuelve dos descriptores de archivo. Uno lo uso para leer y el otro lo uso para escribir... ¡No entiendo! Marcelo
Re: Pipes en Linux
On Wed, 20 Jan 1999, =?iso-8859-1?Q?Virgilio_G=F3mez_Rubio?= wrote: > On Mon, 18 Jan 1999, Antonio Castro wrote: > > > On Mon, 18 Jan 1999, Marcelo E. Magallon wrote: > > > > > On Sun, Jan 17, 1999 at 10:55:20PM +0100, José Antonio Pozo wrote: > > > > > > > Hola, ¿cuantas pipes se pueden abrir a la vez en C?. Gracias > > > > > > de /usr/include/linux/limits.h tienes: > > > > > > #define OPEN_MAX 256/* # open files a process may have */ > > > > > > y un 'pipe' es un archivo, así que me imagino que la respuesta es 256... o > > > 253 (stdio, stdout, stderr están abiertos al iniciar el programa) > >^ > > > > Un pipe no es un archivo. > > Un pipe tiene asociados una pareja de descriptores de ficheros. (No uno) > > > Creo que hay dos tipos de tuber'ias: las "normales" y las tuber'ias con > nombre. Estas 'ultimas s'i que aparecen como un fichero m'as. Hay un libro > llamada "Unix, programaci´on avanzada" donde explica, entre otras cosas, > las tuber´ias. Es un libro MUY bueno. No recuerdo la editorial (tal vez > Rama?), pero el autor es profesor en alguan universidad de Madrid. Estamos hablando de los límites para el número de ficheros abiertos así que no pensaras que solo puede haber 256 ficheros en tu Linux no ? El maximo de 256 se refiere a el número de ficheros abiertos en el sistemas. Todos los pipes tienen dos descriptores. Uno de entrada y otro de salida. Cada proceso que habrá el pipe lo hará con un descriptor distinto. Si quieres ver todos los descriptores abiertos por un proceso puedes hacerlo en /proc//fd siendo el número del pid del proceso. > Virgilio > > -- > Unsubscribe? mail -s unsubscribe [EMAIL PROTECTED] < /dev/null --- En caso de contestar a la lista mandame copia personal. /\ /\ Los mas importantes desarrolladores de Bases de datos \\W//están portando sus productos a Linux. Porque crees tu _|0 0|_ que será ?Yo creo que Linux es el futuro. +-oOOO--(___o___)--OOOo--+ | . . . . U U . . . . Antonio Castro Snurmacher | | http://slug.ctv.es/~acastro.[EMAIL PROTECTED] | +()()()--()()()--+
Re: Pipes en Linux
On Mon, 18 Jan 1999, Antonio Castro wrote: > On Mon, 18 Jan 1999, Marcelo E. Magallon wrote: > > > On Sun, Jan 17, 1999 at 10:55:20PM +0100, José Antonio Pozo wrote: > > > > > Hola, ¿cuantas pipes se pueden abrir a la vez en C?. Gracias > > > > de /usr/include/linux/limits.h tienes: > > > > #define OPEN_MAX 256/* # open files a process may have */ > > > > y un 'pipe' es un archivo, así que me imagino que la respuesta es 256... o > > 253 (stdio, stdout, stderr están abiertos al iniciar el programa) >^ > > Un pipe no es un archivo. > Un pipe tiene asociados una pareja de descriptores de ficheros. (No uno) > Creo que hay dos tipos de tuber'ias: las "normales" y las tuber'ias con nombre. Estas 'ultimas s'i que aparecen como un fichero m'as. Hay un libro llamada "Unix, programaci´on avanzada" donde explica, entre otras cosas, las tuber´ias. Es un libro MUY bueno. No recuerdo la editorial (tal vez Rama?), pero el autor es profesor en alguan universidad de Madrid. Virgilio
Re: Pipes en Linux
On Mon, 18 Jan 1999, Marcelo E. Magallon wrote: > On Sun, Jan 17, 1999 at 10:55:20PM +0100, José Antonio Pozo wrote: > > > Hola, ¿cuantas pipes se pueden abrir a la vez en C?. Gracias > > de /usr/include/linux/limits.h tienes: > > #define OPEN_MAX 256/* # open files a process may have */ > > y un 'pipe' es un archivo, así que me imagino que la respuesta es 256... o > 253 (stdio, stdout, stderr están abiertos al iniciar el programa) ^ Un pipe no es un archivo. Un pipe tiene asociados una pareja de descriptores de ficheros. (No uno) stdin, stdout, stderr no están necesariamente abiertos. Un proceso hereda los descriptores de ficheros abiertos del proceso padre como parte del entorno heredable. El padre puede cerrar estos descritores. > Marcelo > > -- > Unsubscribe? mail -s unsubscribe [EMAIL PROTECTED] < /dev/null --- En caso de contestar a la lista mandame copia personal. /\ /\ Los mas importantes desarrolladores de Bases de datos \\W//están portando sus productos a Linux. Porque crees tu _|0 0|_ que será ?Yo creo que Linux es el futuro. +-oOOO--(___o___)--OOOo--+ | . . . . U U . . . . Antonio Castro Snurmacher | | http://slug.ctv.es/~acastro.[EMAIL PROTECTED] | +()()()--()()()--+
Re: Pipes en Linux
On Sun, Jan 17, 1999 at 10:55:20PM +0100, José Antonio Pozo wrote: > Hola, ¿cuantas pipes se pueden abrir a la vez en C?. Gracias de /usr/include/linux/limits.h tienes: #define OPEN_MAX 256/* # open files a process may have */ y un 'pipe' es un archivo, así que me imagino que la respuesta es 256... o 253 (stdio, stdout, stderr están abiertos al iniciar el programa) Marcelo
Pipes en Linux
Hola, ¿cuantas pipes se pueden abrir a la vez en C?. Gracias