Fork et programmation C
Résolu/Fermé
Enness
Messages postés
34
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
10 août 2010
-
30 mars 2010 à 19:02
Enness Messages postés 34 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 10 août 2010 - 5 avril 2010 à 14:07
Enness Messages postés 34 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 10 août 2010 - 5 avril 2010 à 14:07
A voir également:
- Fork et programmation C
- Application de programmation - Guide
- Programmation logo tortue télécharger - Télécharger - Études & Formations
- Programmation télécommande porte de garage brico depot - Forum Matériel & Système
3 réponses
Enness
Messages postés
34
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
10 août 2010
3 avril 2010 à 12:36
3 avril 2010 à 12:36
Up si qqun pouvait m'aider...Comment générer 11 fork provenant du même père...
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
Modifié par chuka le 3/04/2010 à 16:30
Modifié par chuka le 3/04/2010 à 16:30
salut,
tu peux essayer cela:
Il faudrait que tu geres les erreurs de creation etc...mais je pense que ca te permettra d'avancer un peu...
Sur un malentendu, ca peut marcher!!
tu peux essayer cela:
#include<stdio.h> #include<sys/types.h> #include<unistd.h> #include <sys/wait.h> #define uchar unsigned char #define NB_PROCESS 11 int main() { uchar bcl=0; int nb; int pidF[NB_PROCESS]; uchar tab[NB_PROCESS]={1,2,3,5,7,11,13,17,19,23,31}; printf("Entrer un nb: \n"); scanf("%d",&nb); for (bcl=0;bcl<NB_PROCESS;bcl++){ if ((pidF[bcl]=fork())==0){ sleep(1); if (nb%tab[bcl]){ printf("Je ne divise pas %d par %d et je suis le process %d\n",nb,tab[bcl],getpid()); } else{ printf("Je divise %d par %d et je suis le process %d\n",nb,tab[bcl],getpid()); } _exit(0); } else{ printf("je suis le pere process %d et creation de %d\n",getpid(),pidF[bcl]); // } } waitpid(pidF[0], NULL, 0); waitpid(pidF[1], NULL, 0); waitpid(pidF[2], NULL, 0); waitpid(pidF[3], NULL, 0); waitpid(pidF[4], NULL, 0); waitpid(pidF[5], NULL, 0); waitpid(pidF[6], NULL, 0); waitpid(pidF[7], NULL, 0); waitpid(pidF[8], NULL, 0); waitpid(pidF[9], NULL, 0); waitpid(pidF[10], NULL, 0); return 0; }
Il faudrait que tu geres les erreurs de creation etc...mais je pense que ca te permettra d'avancer un peu...
Sur un malentendu, ca peut marcher!!
Enness
Messages postés
34
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
10 août 2010
5 avril 2010 à 14:07
5 avril 2010 à 14:07
Je vais tester tout ca, franchement merci beaucoup, parce que là j'etais au bout du rouleau...:))