1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
#include <sys/wait.h>
int main()
{
int f1,f2,f3;
printf ("je suis le père :%d\n", getpid());
f1 = fork();
switch ( f1 ) {
case -1 :
printf ("erreur dans la création du processus");
break;
case 0 :
printf ("je suis le fils1 , mon pid est: %d \n", getpid());
return(5);
break;
default :f2 = fork();
switch ( f2 ) {
case -1 :
printf ("erreur dans la création du processus");
break;
case 0 :
printf ("je suis le fils2 , mon pid est: %d \n", getpid());
return(10);
break;
default :f3 = fork();
switch ( f3 ) {
case -1 :
printf ("erreur dans la création du processus");
break;
case 0 :
printf ("je suis le fils3 , mon pid est: %d \n", getpid());
return(3);
break;
default :
printf ("c'est toujours le père en fin de traitement\n");
waitpid(f1, NULL, 0);
waitpid(f2, NULL, 0);
waitpid(f3, NULL, 0);
}
}
}
} |
Partager