Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1349 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  C , Unix , Processus

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

C , Unix , Processus

n°1359515
marouane24
Posté le 12-06-2014 à 00:24:00  profilanswer
 

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
mood
Publicité
Posté le 12-06-2014 à 00:24:00  profilanswer
 

n°1359516
Profil sup​primé
Posté le 12-06-2014 à 01:01:01  answer
 

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

n°1359577
marouane24
Posté le 13-06-2014 à 01:17:23  profilanswer
 

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
n°1359636
marouane24
Posté le 14-06-2014 à 19:07:32  profilanswer
 

Aidez-moi s'il vous plait :cry:

n°1359637
marouane24
Posté le 14-06-2014 à 19:10:09  profilanswer
 


regarde ce que je t'ai montrer


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  C , Unix , Processus

 

Sujets relatifs
Besoin d'aide pour coder en Unix ?Sockets Linux en C - serveur d'applications
distribution unix proche de AIX[C/kernel] Creer une interface tunnel ipip en C
[C/Unix]Utilisation du wait[UNIX] Pourquoi créer un utilisateur par programme
script unix répertoires et sous-répertoires[CygWin et PERL] C:\Cygwin\bin\sh.exe: *** fatal error
Plus de sujets relatifs à : C , Unix , Processus


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR