J'ai un processus codé en C, je souhaiterai associer une action d'arrêt propre de ce processus en tapant la commande ./mon_processus STOP
Si vous avez des idées...
Merci =)
J'ai un processus codé en C, je souhaiterai associer une action d'arrêt propre de ce processus en tapant la commande ./mon_processus STOP
Si vous avez des idées...
Merci =)
STOP ressemble très fort au premier argument
que tu pourrais passer à ton programme en C.
Ne peux tu pas coder dans ton programme un truc du genre :
Code ultra simpliste, c'est l'idée qui compte ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 [...] if ( ! strcmp( argv[1] , "STOP" ) ) { /* Ici code d'arrêt de ton programme */ } [...]![]()
Si le processus est deja lancé cela ne risque-t-il pas de le lancer une seconde fois ?
J'ai donc un processus qui tourne en permanence.
Ce processus fonctionne avec une boucle :
while(a==1)
{
mon processus;
}
Je veux que lorsque l'on tape ./nom_processus STOP
cela envoi un signal et change la valeur de a en 0 par exemple afin de mettre fin à la boucle et arreter proprement le processus sans devoir passer par un kill.
Ah oui je comprends mieux, ma réponse n'est donc pas adapté navré.
La fonction signal me parait bien adaptée. Ensuite tu pourra utiliser la commande kill
avec le signal approprié et faire réagir ton processus. C'est standard.
Justement je ne veux pas utiliser kill, je veux arreter mon programme proprement en changeant la variable dans le while afin que la boucle s'arrête...
Partager