Processus fils et pere avec fork()
Bonjour,
je voudrais savoir comment peut on créer 2 processus fils à partir d'un meme pere
merci d'avance et je serais content de m'aider .
je voudrais savoir comment peut on créer 2 processus fils à partir d'un meme pere
merci d'avance et je serais content de m'aider .
Configuration: Windows Vista Firefox 3.0.4
3 réponses
-
tu fais le test .donc si le pid elle sur le pére donc fork()=1 sinom fork()=-1
-
bonjour pour créer plusieur files on fera une boucle for si 2 fils donc
(for i=0;i<2;i++) -
ModérateurSalut,
Tu commence par forker une fois, puis tu vérifies si ça te retourne pas 0 (ce qui voudrait dire que tu es dans le fils),
et puis tu reforkes.#include <unistd.h> int main() { if (fork() > 0) { fork(); } wait(0); return 0; }-
merci, mais dans ce cas là que je fais une petite confusion
quand on fais le premier fork le père P0 crée un fils P1
et la 2eme fork on va créer 2 fils (n'est ce pas) le P1 crée un fils P2 et P0 va créer aussi un fils P3
donc on a plus que 2 processus
est ce qu'on peut pas supprimer P2 , ou bien c'est la seule solution et merci une autre fois. -
Modérateur@dr_melikJustement non, grâce à la condition if, on vérifie qu'on est bien dans le père et donc lui seule appelera le deuxième fork.
C'est vrai que c'est pas facile.
Lis-donc ce truc et dis moi si tu comprends mieux:
http://www.commentcamarche.net/faq/sujet 10611 que fait un fork -
@kilianmerci ,donc si fork() =0 alors le fils va appeler le fork().
mais si on veut que les 2 fils précédent créent 2 autres fils, comment on va savoir on est dans quel fils
c à d quel fils va utiliser le fork par ce ke normalement ils vont avoir tout les deux un fork=0, si j'ai bien compris. -
Modérateur@dr_melikEuh...je comprends pas bien ta question.
-
@kilianje veux dire que si on veut faire le meme travail qu'on a fait pour le pere sur les 2 fils crées.
c-à-d si on veut que chaque fils crée lui même 2 autres fils donc devient un père et on aura une sorte d'arbre .
et le premier père devient disons un grand-père. tu as compris.
comment peut-on faire cela.
-