Bonsoir,

Question qui vous paraîtra stupide, mais qui me bloque complètement.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
pid_t pid;
pid=fork();
 
if(!pid) 
{
printf("A");
}
wait(Null);
printf("B");
exit(0);
Je sais que fork renvoi -1 si la création du fils échoue et 0 si le fils est bien créé.

Mais ici, lorsque l'on écrit !pid je ne comprends pas ce qu'il faut comprendre...si pid != 0 ou si pid != 1 ou bien autre chose...

wait attend la terminaison d'un processus pour passer à la suite de sorte que


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
pid_t pid=fork();
if(pid==0) // si fils
{
printf("A");
}
else // si père
{
printf("B);
}
va afficher B A



et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
pid_t pid=fork();
if(pid==0) // si fils
{
printf("A");
}
else // si père
{
wait(Null);
printf("B);
}
va afficher A B