-
attraper un kill process
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.
-
avec la fonction signal tu devrais pouvoir t'en sortir
-
Justement,
comment l'utiliser.
-
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.