[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]hi, listas... acabo de bajar el manual del programador de Linux y tengo ciertas inquietudes con la programación de las pipes... 1. Al crear la tuberia se crea un proceso hijo para comunicarse, la pregunta es: cuando comienza a ejecutarse el proceso hijo?, cuando el padre cierra el extremo de escritura de la cañeria? o cuando el padre empieza a leer en la cañeria? estube poniendo mensajes para ver que es lo que hace y me parece que el hijo empieza a ejecutarse cuando el padre empieza a leer en la cañeria... 2. Que significar que childpid sea igual a cero? o diferente de cero? 3. Yo he programado en C bajo DOS y Windows, ahora quiero empezar bajo UNIX para realizar mi proyecto de grado (eso espero), ¿No existe el posicionamiento del cursor? ejemplo: gotoxy(x,y) programa: pipe.c #include<stdio.h> #include<unistd.h> #include<sys/types.h> int main(void) { 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); } }