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:
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';
Mon problème est que cleanexit n'est jamais appelé. Quelqu'un saurait-il pourquoi ?