Arrêter un programme proprement lors d'un Ctrl + C [Perl] - Perl - Programmation
Marsh Posté le 22-04-2004 à 13:32:45
t'as aussi le modeule sigtrap
petit conseil : dès que tu as atrapé SIGINT, ça peut être une bonne idée de remettre le gestionnaire par défaut, en cas de problème vraiment sérieux.
Marsh Posté le 22-04-2004 à 13:33:52
Taz a écrit : ben tu vires les () à quit quand même |
en perl ca change rien si je les places ou non, c'est simplement mieux pour l'oeil
Marsh Posté le 22-04-2004 à 13:34:47
Taz a écrit : t'as aussi le modeule sigtrap |
je vais regarder la différence entre SIGTRAP et SIGINT (déjà que jsais pas trop la définition du SIGINT)
"le gestionnaire par défaut" -> jpige que dalle
Marsh Posté le 22-04-2004 à 13:39:31
Code :
|
ca semble fonctionner
merci oh grand gourou
Marsh Posté le 22-04-2004 à 13:51:15
Code :
|
tu disais ?
Marsh Posté le 22-04-2004 à 13:51:39
hum... finalement c'est p-e pas fini
y'a t-il moyen de lui laisser terminer sa boucle while (pas la boucle au complet, mais ce tour ci) avant?
du genre
Code :
|
je fais Ctrl + C lorsqu'il effectue son dir C:\, j'aimerais qu'il puisse tout meme l'écrire dans le log avant d'exécuter ma fonction de fin d'exécution
Marsh Posté le 22-04-2004 à 13:56:55
oui
sub myhand {
$quit = 1;
}
et mon while je le change pour
until ($quit) {
...
}
Marsh Posté le 22-04-2004 à 13:27:30
J'ai un script qui va devoir rouler dans un while (1) {}
j'aimerais que lorsque qu'on fasse Ctrl + C pour l'arrêter, que celui-ci capte le signal et effectue certaines tâches (écriture dans les logs par exemple)
J'ai essayé avec $SIG{INT} = \&quit(); mais ca fait quitter le programme au lancement et non lors d'un Ctrl + C
une idée?
merci