Probleme avec cet énoncé .

-
Bonjour;

On a : pere a 3 fils T S T et chaque fils a un fils T(E) S(T) et T(P).



Synchronisez entre les différents processus pour avoir l’affichage : Père : TEST TP en utilisant la fonction wait(0) et exit(0).

mon programme affiche Pere:TESTTEST TP TP.
Afficher la suite 

2 réponses

Messages postés
9129
Date d'inscription
jeudi 30 juin 2005
Statut
Contributeur
Dernière intervention
13 novembre 2019
3808
Commenter la réponse de bendrop
0
Merci
merci
voila mon code source;

#include <stdio.h> 
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>

int main()
{ 
  pid_t pid;
  

  if((pid=fork())==0)
  {
    printf("T");
    fork();
    printf("E");
    exit(0);
  }
  wait(0);  
  if((pid=fork())==0)
  {
    printf("S");
    fork();
    printf("T");
    exit(0);
  }
  wait(0);
  if((pid=fork())==0)
  {
    printf(" T");
    fork();
    printf("P\n");
    exit(0);
  }
  wait(0);
  
  printf("pere:");
  exit(0);
  


return 0;
}
bendrop
Messages postés
9129
Date d'inscription
jeudi 30 juin 2005
Statut
Contributeur
Dernière intervention
13 novembre 2019
3808 -
daryun
Messages postés
1
Date d'inscription
lundi 4 novembre 2019
Statut
Membre
Dernière intervention
4 novembre 2019
> bendrop
Messages postés
9129
Date d'inscription
jeudi 30 juin 2005
Statut
Contributeur
Dernière intervention
13 novembre 2019
-
#include <stdio.h> 
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>

int main()
{ 
  pid_t pid;
  

  if((pid=fork())==0)
  {
    printf("T");
    fork();
    printf("E");
    exit(0);
  }
  wait(0);  
  if((pid=fork())==0)
  {
    printf("S");
    fork();
    printf("T");
    exit(0);
  }
  wait(0);
  if((pid=fork())==0)
  {
    printf(" T");
    fork();
    printf("P\n");
    exit(0);
  }
  wait(0);
  
  printf("pere:");
  exit(0);
  


return 0;
}
Commenter la réponse de daryun