[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re:Programacion



 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

 



[Hilos de Discusión] [Fecha] [Tema] [Autor]