duo/mathieu>fork_a
Avant le fork() Apres le fork() : pid = 11046 Apres le fork() : pid = 0 duo/mathieu> |
Le processus affiche "Avant le fork", puis se duplique.
L'ordonnanceur (scheduler) élit successivement
duo/mathieu>fork_a
Avant le fork() Apres le fork() : pid = 0 Apres le fork() : pid = 11046 duo/mathieu> |
et
duo/mathieu>fork_a
Avant le fork() Apres le fork() : pid = 11046 duo/mathieu>Apres le fork() : pid = 0 |
Dans ce dernier cas, l'utilisateur croit en général
qu'il n'a pas la main et que le processus fils tourne encore, et il appuie
alors sur "enter", inutilement, et il provoque l'affichage d'un nouveau
prompt de la part du shell qui a traité une commande vide.
Il m'a fallu plus de 80 essais pour obtenir une seule fois le deuxième
affichage et 39 pour avoir une seule fois le troisième.