Le père peut se mettre en attente jusqu'à la terminaison de son fils. Cette requète est effectuée grâce à la fonction :
pid_t wait(int *status)
Qui renvoie le numéro du processus terminé et qui met à jour la valeur de status en fonction du mode de terminaison du fils :
Un exemple de fonctionnement du wait est donné ci-dessous :
[linewidth=1pt,fillstyle=solid,shadow=true](0,0)(16,-19)
/* Utilisation de la commande FORK */ #include <stdio.h> #include <stdlib.h> /* Programme principal */ void main(int argc, char *argv[]) { int pidfils; int fpid; int status; if (pidfils=fork()) { printf("Je suis %d et j'attends la fin de mon process fils %d\n", \ getpid(),pidfils); fpid=wait(&status); /* Si l'octet faible est different de 0 alors le process fils a rencontre un probleme */ if (0xff & status) { printf("Probleme ! Mon fils a renvoye %d dans \ l'octet de poids faible\n", (0xff & status)); } else { printf("Mon fils %d s'est termine par un exit %d\n",fpid,\ (0xff & (status>>8))); } } else { sleep(10); exit(2); } }