• Viernes 15 de Noviembre de 2024, 07:45

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 - pepsenma

Páginas: [1]
1
C/C++ / Ejecutar fichero .exe
« en: Lunes 4 de Mayo de 2009, 16:43 »
Muy buenas,

Hace dias que me estoy comiendo el coco con esto. Necesitaria poder ejecutar un programa en C, y redireccionar su salida a traves de sockets.

Mi forma de hacerlo es via pipe/dup2/execl. No se si es la mejor manera pero es la única que se me ha ocurrido.

Les muestro mi codigo y a ver si saben donde puedo fallar. El problema es que siempre sale el error de "[Error en el paso de los fitcheros]".



if (pipe(fd) == -1){
   perror("Creating pipe");
        exit(1);
}

pid=fork();
   
switch(pid){
   case -1:
      write(1,"Error en el forkn", strlen("Error en el forkn"));
   break;
      
   case 0:
      close(fd[0]);
      dup2(fd[1], 1);
      strcpy(path,"./progs/");
      strcat(path,nom);
      execl("./progs/","./progs/", NULL);
      write(1,"[Error en el paso de los fitcheros]n",strlen("[Error en el paso de los fitcheros]n");
      exit(0);      
   break;
      
   default:
         
           close(fd[1]);
      i=0;
 
        //Aqui vendria toda la lectura de la pipe y el envio a traves de sockets

      }


Muchas gracias por vuestro tiempo

Páginas: [1]