|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 17 ![]() |
Bonjour à tous,
j'ai un programme C dans lequel il y a une boucle infinie. Dans cette boucle le process père crée plusieurs processus fils. Chaque fils exécute une fonction(). je lance mon programme avec nohup. Donc pour arrêter mon prog je fails un killall monprog. Le problème, c'est que je ne sais pas comment attraper le killall par le père de façon à ce qu'il attend la fin des fils et puis liberer la mémoire. Je vous serai reconnaissant de votre aide, car je dois rendre le projet vendredi. |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Ingénieur informatique industrielle Inscription : avril 2006 Messages : 382 ![]() |
avec la fonction signal tu devrais pouvoir t'en sortir
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 17 ![]() |
Justement,
comment l'utiliser. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : octobre 2008 Messages : 1 375 ![]() |
Installe un signal handler avec sigaction(). Dans le signal handler, tu positionnes une variable qui indiquera à la boucle principale de ton programme de sortir. Dans la boucle principale de ton programme, tu testes si la variable est positionnée, et si c'est le cas tu sorts et tu attends la fin de tes fils.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com