/* attenteFils.c */ #include #include #include #include #include #include int main(void) { pid_t result, endPid; int code, etat; do { result=fork(); } while ((result==-1) && (errno==EAGAIN)); switch(result) { case -1: fprintf(stderr,"Pb with fork !\n"); break; case 0: sleep(1); fprintf(stderr,"code d'exit : "); scanf("%d",&code); exit(code); break; default: do { endPid=waitpid(result,&etat,0); } while ((endPid==-1) && (errno==EINTR)); fprintf(stderr,"code d'exit du fils : %d\n",WEXITSTATUS(etat)); break; } return EXIT_SUCCESS; }