[C] Pipe/Fork
Fermé
Apaachee
Messages postés
248
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
25 août 2011
-
6 juin 2009 à 10:31
Apaachee Messages postés 248 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 25 août 2011 - 6 juin 2009 à 12:16
Apaachee Messages postés 248 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 25 août 2011 - 6 juin 2009 à 12:16
A voir également:
- [C] Pipe/Fork
- Pipe clavier mac - Guide
- Client_loop: send disconnect: broken pipe ✓ - Forum Linux / Unix
- Mkisofs: broken pipe. cannot fwrite 32768*1 - Forum Gravure
- Fork CMS - Télécharger - Web Design
- PowerPoint Pipe - Télécharger - Présentation
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
6 juin 2009 à 12:04
6 juin 2009 à 12:04
Salut,
Déjà, tu peux commencer par faire le même exercice avec un seul fils (un seul fork).
Donc le père envoie un nombre à son fils, et son fils l'affiche (ne serait-ce que pour vérifier que ça marche ^^).
Voici un exemple de pipe : https://tldp.org/LDP/lpg/node11.html Tu peux t'en inspirer largement.
Une fois que t'aurais réussi, tu pourras passer à la création de plusieurs fils.
N'hésite pas à poster ton code ou/et à poser des questions techniques si tu as besoin d'aide.
Cdlt
Déjà, tu peux commencer par faire le même exercice avec un seul fils (un seul fork).
Donc le père envoie un nombre à son fils, et son fils l'affiche (ne serait-ce que pour vérifier que ça marche ^^).
Voici un exemple de pipe : https://tldp.org/LDP/lpg/node11.html Tu peux t'en inspirer largement.
Une fois que t'aurais réussi, tu pourras passer à la création de plusieurs fils.
N'hésite pas à poster ton code ou/et à poser des questions techniques si tu as besoin d'aide.
Cdlt
Apaachee
Messages postés
248
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
25 août 2011
47
6 juin 2009 à 12:16
6 juin 2009 à 12:16
#include <unistd.h> #include <stdlib.h> #include <stdio.h> int main(){ int num_proc = 0; int nb_proc = 10; int essai; pid_t pid; do{ essai=0; do{ pid = fork(); essai ++; }while ((pid == -1)&&(essai<100)); if(essai!=100 && pid!=0){ num_proc++; } else if(pid==0){ printf("num_proc : %d \n",num_proc); pid = getpid(); _exit(pid); } }while ((pid!=0) && (num_proc<=nb_proc)); }
J'ai créé mes N processus, ne reste plus qu'à leur transmettre une variable incrémentée. (ton lien a l'air mort je ne vois pas ton exemple :S)