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 .
Configuration: Windows Vista
Firefox 3.0.4

3 réponses

  1. tu fais le test .donc si le pid elle sur le pére donc fork()=1 sinom fork()=-1
    1. bonjour pour créer plusieur files on fera une boucle for si 2 fils donc
      (for i=0;i<2;i++)
      1. Modérateur
        Salut,

        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;
        }
        1. 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.
        2. @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.
        3. Modérateur
          @dr_melikEuh...je comprends pas bien ta question.
        4. @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.