/* FILE: padresenzafigli1.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); /* padre fa un'altra wait: MA NON CI SONO PIU' FIGLI DA ASPETTARE */ if (wait((int *)0) < 0) { printf("Errore in wait\n"); exit(4); } exit(0); }