wait()
- Un appel à
wait()
bloque le processus d’appel jusqu’à ce que l’un de ses processus enfants se ferme ou qu’un signal soit reçu. - Une fois le processus enfant terminé, le parent continue son exécution après l’instruction d’appel système d’attente.
wait c
- Il appelle exit() et il retourne (un int) à partir de main
- Il reçoit un signal (du système d’exploitation ou d’un autre processus) dont l’action par défaut est de se terminer.
- L’appel système d’attente met le processus en veille et attend la fin d’un processus enfant.
- Il remplit ensuite l’argument avec le code de sortie du processus enfant (si l’argument n’est pas
NULL
).
wait en c
int status; if (wait(&status) >= 0){ if (WEXITED(status)){ /* Processus enfant quitté normalement, par retour ou sortie */ printf("Child process exited with %d statusn", WEXITSTATUS(status)); } }