C , Unix , Processus

C , Unix , Processus - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 12-06-2014 à 00:24:00    

je veux réaliser un programme C qui permet créer un arbre de processus (avec fork()) ça veut dire un père et n-1 fils (n est saisie au clavier) et chaque fils à un nom saisie aussi au clavier et chaque fils génère un nombre aléatoire et l’envoie au père avec le nom du fils et le père teste si ce nombre dépasse un seuil il arrête le processus de ce fils , je suis bloqué ms amis , aidez moi s'il vous plait  :jap:


Message édité par marouane24 le 12-06-2014 à 00:33:40
Reply

Marsh Posté le 12-06-2014 à 00:24:00   

Reply

Marsh Posté le 12-06-2014 à 01:01:01    

Où es tu bloqué? as-tu déjà quelque chose à nous montrer? :)

Reply

Marsh Posté le 13-06-2014 à 01:17:23    

d'abord dans la saisie des noms j'ai un problème , essaie ça chez toi et tu vas comprendre , ensuite je sais pas comment on distingue si on est en train de travailler  avec le premier fils ou bien le 2eme ... , sachant que chaque fils doit générer une valeur et l'envoyer au père avec le nom du fils

Code :
  1. #include<unistd.h>
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. #include<time.h>
  5. void generate(char nom[20]){
  6. int ne;
  7. ne=rand()%100;
  8. }
  9. typedef struct Barrage{
  10. char name[20];
  11. int ne;
  12. }Barrage;
  13. int main(){
  14. Barrage x[14];
  15. int i,n,pid[n],fd[2],ne;
  16. char nom[20],chaine[BUFSIZ];
  17. printf("Donner le nombre de barrages : " );
  18. scanf("%d",&n);
  19. if(pipe(fd)==-1){
  20. printf("erreur de pipe" );
  21. exit(0);
  22. }
  23. for(i=0;i<n;i++){
  24. if((pid[i]=fork())>0){
  25.  if(i==0){
  26.   read(fd[0],chaine,BUFSIZ);
  27.  }
  28. }
  29. else{
  30.  printf("Donner le nom du barrage N°%d : ",i+1);
  31.  getchar();
  32.                 scanf("%s",x[i].name);
  33. }
  34. }


Message édité par marouane24 le 13-06-2014 à 01:21:39
Reply

Marsh Posté le 14-06-2014 à 19:07:32    

Aidez-moi s'il vous plait :cry:

Reply

Marsh Posté le 14-06-2014 à 19:10:09    


regarde ce que je t'ai montrer

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed