• Martes 21 de Mayo de 2024, 05:05

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Mountain

Páginas: [1]
1
C/C++ / Ejecucion De Programas Con Pipes
« en: Lunes 28 de Mayo de 2007, 14:04 »
Tengo un pequeño dilema con las redirecciones para poder programar un comando usando pipes.
si tengo la orden:

who | wc -l >fichero.txt

Tengo una parte del codigo


int pfd[2];
switch(id=fork()) {
      case -1:   error("fork");
      case 0:   /* 1. hijo who*/
         printf("Creado el proceso who\n");

         if(close(1)==-1) error("close");
         if(dup(pfd[1])!=1) error("dup");
         if((close(pfd[0])==-1) ||
            (close(pfd[1])==-1) )  error("close");
         execlp("who","who",NULL);
         error("execlp");
   }
   printf("Lanzado el proceso who(%d)\n",id);

   switch(id=fork()) {
      case -1:   error("fork");
      case 0:   /* 2. hijo wc  */
         printf("Creado el proceso wc\n");
         if(close(0)==-1) error("close");
         if(dup(pfd[0])!=0) error("dup");
         if((close(pfd[0])==-1)||
            (close(pfd[1])==-1) )  error("close");
         execlp("wc","wc","-l",NULL);
         error("execlp");
   }

Ahora he programado solo : who | wc -l y me falta la redireccion al fichero
¿Como lo haria? alguien tiene alguna idea?

Saludos.

Páginas: [1]