Processus fils et petit fils fork

Fermé
camelia - Modifié le 21 mars 2022 à 12:10
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 18 mars 2022 à 18:00
Bonjour,

Quelqu'un pourrait m'aider à créer 3 processus fils ainsi qu 'un petit fils comme ceci :
  • le père crée 3 fils (jack, franck et jhon)
  • jhon crée à son tour une fille (laura).



père
\-- jack
\-- franck
\-- jhon
\-- laura


Sachant que i est initialisé à 1 :
  • Le père initialise i à 1 et fait = i * 5
  • Le père crée le fils Jack qui fait i = i * 15
  • Le père crée un fils jhon qui fait i=i * 500
    • jhon crée la fille laura qui fait i= i * 9000


Voila ce que j'ai commencé à faire.

int main(void) { 
  int i; /* int i = 1; */
  i = 1; 
  (fork()==0); /* création fils jack*/
  i = i * 15; 
  fork(); /* création fils jhon*/
  i = i * 500; 
  {
      (fork()==0); /* création petit fils F21*/
      i = i * 9000;
  }


Camelia

1 réponse

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
18 mars 2022 à 18:00
Bonjour,

En C, un test s'écrit
if ( ... ) { ... }
, et il faut contrôler le résultat de
fork
pour savoir si tu es dans le processus qui engendre son descendant ou dans ledit descendant.

Veille également à bien indenter ton code et à vérifier que les parenthèses / accolades sont bien fermées.

Bonne chance
-1