Processus pere et fils, programme c

Fermé
DarKcYbeR Messages postés 98 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 15 février 2011 - 14 mars 2009 à 12:57
 tom05 - 14 mars 2010 à 18:04
Bonjour,
je veux savoir comment peut on dire à un proc fils d'attendre la fin de certaines actions dans le processus père pour démarrer:
exemple:

processus fils lancé
etape 1 proc fils
etape 2 proc fils

etape 1 pere
etape 2 pere
etape 3 pere
etape 4 pere

etape 3 fils
etape 4 fils
etape 5 fils

fin fils
fin pere


merci d'avance

3 réponses

countvenom Messages postés 1195 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 17 octobre 2010 270
14 mars 2009 à 13:05
Si tu code sous Unix, ou Linux,
Avec la fonction système wait().
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man/manfr.php?ptd=man2/index.html

Le tuto sur le fork, du forum est très bien construit.
http://www.commentcamarche.net/faq/sujet 10611 que fait un fork
0
KéKeCest !
14 mars 2009 à 13:06
Bonjour,

Il me semble que les "sémaphores" peuvent résoudre ce problème et particulièrement en ce qui concerne la pose de verrous en "section critique".

Crdlt.
0
DarKcYbeR Messages postés 98 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 15 février 2011 8
14 mars 2009 à 13:21
merci à vous 2
si je prend le pid du pere et que je dis au fils "waitpid(pid du pere)"
est ce ça va fonctionner?
0
KéKeCest !
14 mars 2009 à 14:34
Re,

A tester mais je doute qu'avec ces méthodes, un fils puisse se terminer après que son père se termine - ce n'est pas très logique.

Pourquoi vous ne lancez pas tout simplement votre fils après que le père ait terminé les opérations nécessaires ??.

Note : getppid() pour connaitre le pid du père.
0
Bonjour ton interrigation m'interresse beaucoup. Aurais-tu trouvé la solution à ton probléme?

Cordialement.
0