Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/11/2007, 13:09
MaxExtreme
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 7 meses
Puntos: 17
Re: creando proceso hijo con fork()

La llamada a exec*() reemplazan la imagen del proceso actual con una nueva del que indicas.

Es decir, para que lo entiendas mejor, el programa original "desaparece" si todo sale bien, por lo que no se sigue ejecutando.

Lo mejor que puedes hacer si sólo quieres ejecutar un comando que vuelva, es usar system(). De hecho, system() hace algo similar a lo que tú tratas de hacer a mano. Puedes resumir tu código con:

Código:
if (system("experimento") == 0)
    cout << "El experimento terminó bien" << endl;
else
    cout << "El experimento terminó mal o no se pudo iniciar, con código " << result << endl;
O algo del estilo.

Última edición por MaxExtreme; 05/11/2007 a las 13:18