manta7
Messages postés105Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention13 décembre 2008
-
31 janv. 2008 à 22:05
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 2013
-
4 févr. 2008 à 09:35
Bonjour à tous.
Je débute en signaux et j'aimerais faire un simple programme qui crée un fils avec un bon vieux fork, avec ds le code du fils une attente de qq secondes et le pere qui affiche un message des que son fils est mort mais je vois pas trop comment faire.
En gros ça va donner ça
p=fork();
if(p<0) {perror("erreur fork"); exit(1); }
if(p==0) { sleep(5); exit(0) }
if( LE_FILS_EST_IL_MORT() ) printf("Le fils est mort");
mais bon la fonction LE_FILS_EST_IL_MORT() n'existe pas :)
...
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 1 févr. 2008 à 09:23
Sqlut
Si si, la fonction" attendre que mon fils meurt" existe, c'est wait(&rv);
En argument ce sera le code retour que le fils envoie: Si le fils fait un exit(10), dans rv il y aura 10
manta7
Messages postés105Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention13 décembre 2008 1 févr. 2008 à 14:16
Ouep merci beaucoup pour cette réponse mais j'ai une petite question en +
Par exemple je veux créer deux fils en meme temps (enfin deux fork a la suite) avec le premier qui attend 5 secondes et qui fait un exit(0) et le second qui attend 2 secondes et qui fait un exit(0).
Est ce que par exemple je peux faire un code dans le pere qui attendrait que les 2 fils soit terminé pour quitter, parce que si je fais un wait(0) il va juste prendre en compte le signal du fils 1
...