#include #include #include #include extern int errno; main() { pid_t pid; int estado; char c; do { printf("Soy el proceso padre; pulsa return para crear proceso hijo\n"); scanf("%c",&c); } while ( c != '\n'); /* Comprobacion si todo ha ido bien */ if ( !fork() ) /* Si se cumple el if anterior, entonces se ha creado proceso hijo */ /* Esto solo lo ejecuta el proceso hijo */ printf("Proceso hijo recien creado\n"); else { /* Se ha creado proceso hijo y esperamos por su finalizacion */ pid = wait(&estado); if ( pid > 0 ) /* Todo ha ido bien */ printf("El proceso hijo termino y su identificador era %d",pid); else /* Error en el fork probablemente */ printf("ERROR: Algo ha ido mal\n"); } /* Lo siguiente lo ejecutara tanto el padre como el hijo */ exit(0); }