Bonjour
Je voudrais créer 4 processus de 3 façons différentes :
Voici mon main() :
Donc le père affiche des entiers de 1 à 10 , et le premier fils de 10 à 20 .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 int main() { pid_t pid; cerr<<"------avant le fork------"<<endl; pid = fork(); cerr<<"------apres le fork------"<<endl; /* Si pid > 0 on est dans le processus pere pid = 0 processus fils pid < 0 le fork n'a pas fonctionne */ if (pid > 0) { for (int i=0;i <11 ; i++) cout << i << endl; cout<<"\tProcessus pere (valeur pid="<<pid<<"), getpid="<<getpid()<<" , getppid="<<getppid()<<endl; sleep(5); } else if (pid == 0){ for (int i=20;i <31 ; i++) cout << i << endl; cout<<"\tProcessus fils valeur pid="<<pid<<"), getpid="<<getpid()<<" , getppid="<<getppid()<<endl; sleep(5); } else cerr<<"Erreur a la creation du processus"<<endl; cerr<<"------avant le return du main()------"<<endl; return(0); }
Comment puis-je faire pour que le fils 1 affiche 10 à 20 , le fils2 de 20 à 30 , le fils3 de 30 à 40 ?
Pour l'une des façons ,c 'est à dire père -> fils1 -> fils2 -> fils3 , j'ai pensé rajouter au fils1 un fork , donc au fils de fils1 , c'est à dire fils2 , un nouveau fork ?
Enfin j'arrive pas à organiser tout ça
Merci d'avance
Partager