Código:
Mi intencion es crear un proceso hijo que ejecute un programa, y hacer que el proceso padre termine despues de su hijo, por eso mismo uso el wait, al ejecutarlo tira el segmentation fault, lo debugguie y aun asi sigo sin entender porque no funciona, alguien me da una mano con esto? int main() { int pid; pid = fork(); if(pid==-1){ perror("No se ha podido crear el proceso hijo\n"); } if(pid==0){ printf("Soy el hijo\n"); FILE* archRutina = fopen("datosDeEntrada.txt","r"); FILE* archTemporal = fopen("archivoTemporal.txt","w"); dup2(fileno(archRutina),STDIN_FILENO); dup2(fileno(archTemporal),STDOUT_FILENO); system("/home/utnso/workspace/EjemplosC/Debug/./EjemplosC "); fclose(archRutina); fclose(archTemporal); } else{ // Cuando es distinto de cero es el padre printf("Soy el padre\n"); wait(NULL); printf("Mi proceso hijo ya ha terminado.\n"); } return 0; }