J'ai déjà posé une question à propos de fork(), en voici une autre. Vu le code suivant:Valeurs de variable dans Fork() enfant
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid1, pid2;
pid1 = fork();
pid2 = fork();
if (pid1 != 0 && pid2 != 0)
printf("A\n");
if (pid1 != 0 || pid2 != 0)
printf("B\n");
exit(0);
}
Après la deuxième fork()
, quelles seraient les valeurs de pid1
& pid2
?
Pour autant que compris, la première fourche définit pid1 > 0
et serait identique chez tous les enfants créés plus tard. Cependant, qu'arriverait-il à pid2
??
Merci!
Vous avez oublié les effets de la deuxième fourche dans le premier parent. –
Je ne pense pas que je l'ai fait ... chacune des 4 feuilles a les variables PID ci-dessus. La feuille supérieure (la plus à droite) a [child1 pid], [child2 pid] et ainsi de suite. J'ai ajouté un tableau pour clarifier – Robert
que vous avez édité depuis que j'ai commenté. –