Probleme avec fork
loup626
Messages postés
10
Statut
Membre
-
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
desolé de deranger mais je dois realiser un prog en C de decomposition en facteur premier le probleme ces qu'il doit etre fait avec des processus fils (fork)
il faut que je donne un nombre de fils et chacun leur tour doivent prendre le nombre a decomposer et retourne un facteur premier et le reste et cela en boucle
Je sais que c'est pas trop clair mais est ce que quelqu'un pourrait me dire comment creer un boucle avec des fork
mais qui s'execute chacun leur tour
while (nbFils != 0){
pid_fils = fork();
switch (pid_fils):
case -1:
....
case 0:
printf("je suis le fils %d",nbFils);
...
default:
...
nbFils --;
}
je voudrai que ca me sorte
je suis le fils 3
je suis le fils 2
je suis le fils 1
et j'obtient
je suis le fils 3
je suis le fils 2
je suis le fils 1
je suis le fils 1
je suis le fils 2
je suis le fils 1
je suis le fils 1
je suis le fils 3
je suis le fils 2
Merci
desolé de deranger mais je dois realiser un prog en C de decomposition en facteur premier le probleme ces qu'il doit etre fait avec des processus fils (fork)
il faut que je donne un nombre de fils et chacun leur tour doivent prendre le nombre a decomposer et retourne un facteur premier et le reste et cela en boucle
Je sais que c'est pas trop clair mais est ce que quelqu'un pourrait me dire comment creer un boucle avec des fork
mais qui s'execute chacun leur tour
while (nbFils != 0){
pid_fils = fork();
switch (pid_fils):
case -1:
....
case 0:
printf("je suis le fils %d",nbFils);
...
default:
...
nbFils --;
}
je voudrai que ca me sorte
je suis le fils 3
je suis le fils 2
je suis le fils 1
et j'obtient
je suis le fils 3
je suis le fils 2
je suis le fils 1
je suis le fils 1
je suis le fils 2
je suis le fils 1
je suis le fils 1
je suis le fils 3
je suis le fils 2
Merci
3 réponses
-
Bonjour,
Il te manque pas un "je suis le fils 1" à la toute fin? à mon avis, comment le while, et tu devrais avoir ce que tu veux : j'ai l'imp que tes proc fils fork eux aussi. Si tu ne veux pas qu'ils fork et que tu souhaites maintenir ton while, je crois qu'il faut que tu fasses un test sur le pere. Dsl si je te dis des conneries, ca fait 3ans que j'ai plus fait de C... -
desolé d'avoir mis du temps à repondre,
je n'arrive vraiment pas a faire ce que je veux, je voudrais pouvoir creer une boucle qui crée à chaque iteration un fork() unique -
case 0:
printf("je suis le fils %d",nbFils);
ici, il faut sortir de la boucle pour que chaque fils ne rexécute pas le fork.