/* FILE: provawait.c */ #include #include #include #include int main () { int pid, pidFiglio; if ((pid = fork()) < 0) { /* fork fallita */ printf("Errore in fork\n"); exit(1); } if (pid == 0) { /* figlio */ printf("Esecuzione del figlio\n"); sleep(4); exit(5); } /* padre */ printf("Generato figlio con PID = %d\n", pid); if ((pidFiglio=wait((int *)0)) < 0) { printf("Errore in wait\n"); exit (2); } if (pid == pidFiglio) printf("Terminato figlio con PID = %d\n", pidFiglio); else exit(3); exit(0); }