Bonjour,
Je cherche à intercepter des signaux dans un script.
J'arrive sans problème à intercepter les die et warnings. En revanche, concernant les signaux de type INT ou TERM, cela se corse.
D'après un exemple donné dans la FAQ officielle de Perl, j'ai ceci:
Mon problème est que cleanexit n'est jamais appelé. Quelqu'un saurait-il pourquoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 sub cleanexit { print "exit propre\n"; # trucs à faire exit; } sleep(10); # test... pour me laisser le temps de killer ou interrompre le script $SIG{'KILL'} = 'cleanexit'; $SIG{'INT'} = 'cleanexit'; $SIG{'QUIT'} = 'cleanexit'; $SIG{'TERM'} = 'cleanexit';
Partager