[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]
Jhon Jairo twisted the bytes to say:
Jhon> hi, listas...
Jhon> acabo de bajar el manual del programador de Linux y tengo ciertas
Jhon> inquietudes con la programación de las pipes...
Jhon> 1. Al crear la tuberia se crea un proceso hijo para comunicarse, la
Jhon> pregunta es: cuando comienza a ejecutarse el proceso hijo?, cuando el
Jhon> padre cierra el extremo de escritura de la cañeria? o cuando el padre
Jhon> empieza a leer en la cañeria?
Jhon> estube poniendo mensajes para ver que es lo que hace y me parece que el
Jhon> hijo empieza a ejecutarse cuando el padre empieza a leer en la
Jhon> cañeria...
Jhon> 2. Que significar que childpid sea igual a cero? o diferente de cero?
Jhon> 3. Yo he programado en C bajo DOS y Windows, ahora quiero empezar bajo
Jhon> UNIX para realizar mi proyecto de grado (eso espero), ¿No existe el
Jhon> posicionamiento del cursor? ejemplo: gotoxy(x,y)
Jhon> programa:
Jhon> pipe.c
Jhon> #include<stdio.h>
Jhon> #include<unistd.h>
Jhon> #include<sys/types.h>
Jhon> int main(void)
Jhon> {
int fd[2], nbytes;
pid_t childpid;
char string[]="Hola a todos!\n";
char readbuffer[80];
pipe(fd);
printf("Antes de Crear Hijo\n");
if((childpid=fork())==-1)
{
perror("fork");
exit(1);
}
printf("Despues de crear hijo\n");
printf("antes del IF:%d\n",childpid);
if(childpid==0)
{
printf("entre childpid==0\n");
close(fd[0]);
write(fd[1],string, strlen(string));
printf("Antes de exit childpid:%d\n",childpid);
exit(0);
}
else
{
printf("Entre en el else\n");
close(fd[1]);
printf("dentro del Else:%d\n",childpid);
nbytes=read(fd[0], readbuffer, sizeof(readbuffer));
printf("Cerre la tuberia");
printf("Recibido string: %s\n", readbuffer);
}
Jhon> }
--
Daniel M. German "That the only purpose for
which power can be rightfully exercised
over any member of a civilized
community, against his will,
is to prevent harm to others.
His own good, either physical
John Stuart Mill -> or moral, is not a sufficient warrant."
http://csgwww.uwaterloo.ca/~dmg/home.html
dmg en csg uwaterloo ca