%SIG |
Signal |
---|---|
Perl |
Syntaxe
$SIG{champs} = 'DEFAULT'; |
$SIG{champs} = 'IGNORE'; |
$SIG{champs} = \&handler; |
Paramètres
Nom | Description | ||
---|---|---|---|
'DEFAULT' | Cette valeur permet d'indiquer que l'événement par défaut doit être utilisé. | ||
'IGNORE' | Cette valeur permet d'indiquer que l'événement doit être ignoré | ||
champs | Ces champs permettent d'indiquer le nom de l'événement : | ||
Variable | Description | Plateforme | |
ABRT | Ce champ permet d'indiquer un événement d'abandonné. | Linux, Windows | |
ALRM | Ce champ permet d'indiquer un événement d'alarme. | Linux, Windows | |
BREAK | Ce champ permet d'indiquer un événement de point d'arrêt. | Windows | |
BUS | Ce champ permet d'indiquer un événement «BUS». | Linux | |
CHLD | Ce champ permet d'indiquer un événement «CHLD». | Linux, Windows | |
CLD | Ce champ permet d'indiquer un événement «CLD». | Linux, Windows | |
CONT | Ce champ permet d'indiquer un événement «CONT». | Linux, Windows | |
FPE | Ce champ permet d'indiquer un événement «FPE». | Linux, Windows | |
HUP | Ce champ permet d'indiquer un événement «HUP». | Linux, Windows | |
ILL | Ce champ permet d'indiquer un événement «ILL». | Linux, Windows | |
INT | Ce champ permet d'indiquer un événement «INT». | Linux, Windows | |
IO | Ce champ permet d'indiquer un événement d'entrée/sortie. | Linux | |
IOT | Ce champ permet d'indiquer un événement «IOT». | Linux | |
KILL | Ce champ permet d'indiquer un événement de fin de processus. | Linux, Windows | |
NUM05 | Ce champ permet d'indiquer un événement «NUM05». | Windows | |
NUM06 | Ce champ permet d'indiquer un événement «NUM06». | Windows | |
NUM07 | Ce champ permet d'indiquer un événement «NUM07». | Windows | |
NUM10 | Ce champ permet d'indiquer un événement «NUM10». | Windows | |
NUM12 | Ce champ permet d'indiquer un événement «NUM12». | Windows | |
NUM16 | Ce champ permet d'indiquer un événement «NUM16». | Windows | |
NUM17 | Ce champ permet d'indiquer un événement «NUM17». | Windows | |
NUM18 | Ce champ permet d'indiquer un événement «NUM18». | Windows | |
NUM19 | Ce champ permet d'indiquer un événement «NUM19». | Windows | |
NUM24 | Ce champ permet d'indiquer un événement «NUM24». | Windows | |
NUM32 | Ce champ permet d'indiquer un événement «NUM32». | Linux | |
NUM33 | Ce champ permet d'indiquer un événement «NUM33». | Linux | |
NUM35 | Ce champ permet d'indiquer un événement «NUM35». | Linux | |
NUM36 | Ce champ permet d'indiquer un événement «NUM36». | Linux | |
NUM37 | Ce champ permet d'indiquer un événement «NUM37». | Linux | |
NUM38 | Ce champ permet d'indiquer un événement «NUM38». | Linux | |
NUM39 | Ce champ permet d'indiquer un événement «NUM39». | Linux | |
NUM40 | Ce champ permet d'indiquer un événement «NUM40». | Linux | |
NUM41 | Ce champ permet d'indiquer un événement «NUM41». | Linux | |
NUM42 | Ce champ permet d'indiquer un événement «NUM42». | Linux | |
NUM43 | Ce champ permet d'indiquer un événement «NUM43». | Linux | |
NUM44 | Ce champ permet d'indiquer un événement «NUM44». | Linux | |
NUM45 | Ce champ permet d'indiquer un événement «NUM45». | Linux | |
NUM46 | Ce champ permet d'indiquer un événement «NUM46». | Linux | |
NUM47 | Ce champ permet d'indiquer un événement «NUM47». | Linux | |
NUM48 | Ce champ permet d'indiquer un événement «NUM48». | Linux | |
NUM49 | Ce champ permet d'indiquer un événement «NUM49». | Linux | |
NUM50 | Ce champ permet d'indiquer un événement «NUM50». | Linux | |
NUM51 | Ce champ permet d'indiquer un événement «NUM51». | Linux | |
NUM52 | Ce champ permet d'indiquer un événement «NUM52». | Linux | |
NUM53 | Ce champ permet d'indiquer un événement «NUM53». | Linux | |
NUM54 | Ce champ permet d'indiquer un événement «NUM54». | Linux | |
NUM55 | Ce champ permet d'indiquer un événement «NUM55». | Linux | |
NUM56 | Ce champ permet d'indiquer un événement «NUM56». | Linux | |
NUM57 | Ce champ permet d'indiquer un événement «NUM57». | Linux | |
NUM58 | Ce champ permet d'indiquer un événement «NUM58». | Linux | |
NUM59 | Ce champ permet d'indiquer un événement «NUM59». | Linux | |
NUM60 | Ce champ permet d'indiquer un événement «NUM60». | Linux | |
NUM61 | Ce champ permet d'indiquer un événement «NUM61». | Linux | |
NUM62 | Ce champ permet d'indiquer un événement «NUM62». | Linux | |
NUM63 | Ce champ permet d'indiquer un événement «NUM63». | Linux | |
PIPE | Ce champ permet d'indiquer un événement «PIPE». | Linux, Windows | |
POLL | Ce champ permet d'indiquer un événement «POLL». | Linux | |
PROF | Ce champ permet d'indiquer un événement «PROF». | Linux | |
PWR | Ce champ permet d'indiquer un événement «PWR». | Linux | |
QUIT | Ce champ permet d'indiquer un événement «QUIT». | Linux, Windows | |
RTMAX | Ce champ permet d'indiquer un événement «RTMAX». | Linux | |
RTMIN | Ce champ permet d'indiquer un événement «RTMIN». | Linux | |
SEGV | Ce champ permet d'indiquer un événement «SEGV». | Linux, Windows | |
STKFLT | Ce champ permet d'indiquer un événement «STKFLT». | Linux | |
STOP | Ce champ permet d'indiquer un événement «STOP». | Linux, Windows | |
SYS | Ce champ permet d'indiquer un événement système. | Linux | |
TERM | Ce champ permet d'indiquer un événement «TERM». | Linux, Windows | |
TRAP | Ce champ permet d'indiquer un événement «TRAP». | Linux | |
TSTP | Ce champ permet d'indiquer un événement «TSTP». | Linux | |
TTIN | Ce champ permet d'indiquer un événement «TTIN». | Linux | |
TTOU | Ce champ permet d'indiquer un événement «TTOU». | Linux | |
UNUSED | Ce champ permet d'indiquer un événement «UNUSED». | Linux | |
URG | Ce champ permet d'indiquer un événement «URG». | Linux | |
USR1 | Ce champ permet d'indiquer un événement «USR1». | Linux | |
USR2 | Ce champ permet d'indiquer un événement «USR2». | Linux | |
VTALRM | Ce champ permet d'indiquer un événement «VTALRM». | Linux | |
WINCH | Ce champ permet d'indiquer un événement «WINCH». | Linux | |
XCPU | Ce champ permet d'indiquer un événement «XCPU». | Linux | |
XFSZ | Ce champ permet d'indiquer un événement «XFSZ». | Linux | |
ZERO | Ce champ permet d'indiquer un événement d'une division par 0. | Linux | |
\&handler | Cette valeur permet d'indiquer une fonction de traitement personnalisé associé à l'événement |
Description
Cette variable associative super-globale permet de fixer ou de retourner des événements associé à un arrêt anormale de processus.
Exemple
Voici un code source Perl effectuant l'écriture d'un message d'erreur dans un fichier «test.log» si le script subit une interruption anormal:
#!/usr/bin/perl
sub error_handler {
my $signame = shift;
open ERROR, ">>test.log";
print ERROR "$signame exec $0: $!\n";
close ERROR;
}
$SIG{ABRT} = \&error_handler;
$SIG{ALRM} = \&error_handler;
$SIG{BREAK} = \&error_handler;
$SIG{CHLD} = \&error_handler;
$SIG{CLD} = \&error_handler;
$SIG{CONT} = \&error_handler;
$SIG{FPE} = \&error_handler;
$SIG{HUP} = \&error_handler;
$SIG{ILL} = \&error_handler;
$SIG{INT} = \&error_handler;
$SIG{KILL} = \&error_handler;
$SIG{NUM05} = \&error_handler;
$SIG{NUM06} = \&error_handler;
$SIG{NUM07} = \&error_handler;
$SIG{NUM10} = \&error_handler;
$SIG{NUM12} = \&error_handler;
$SIG{NUM16} = \&error_handler;
$SIG{NUM17} = \&error_handler;
$SIG{NUM18} = \&error_handler;
$SIG{NUM19} = \&error_handler;
$SIG{NUM24} = \&error_handler;
$SIG{PIPE} = \&error_handler;
$SIG{QUIT} = \&error_handler;
$SIG{SEGV} = \&error_handler;
$SIG{STOP} = \&error_handler;
$SIG{TERM} = \&error_handler;
Voici un code source Perl d'afficher la liste des signaux supporté par le système d'exploitation sous lequel Perl fonctionne actuellement :
#!/usr/bin/perl
#
# Ce script permet de sortir la liste des signaux supporté par le
# système d'exploitation sous lequel Perl fonctionne
use Config;
defined $Config{sig_name} || die "Pas de module Config?";
$i = 0;
foreach $name (split(' ', $Config{sig_name})) {
$i++;
printf "%3d) %s \t", $i, $name;
if (($i % 5) == 0) { print "\n"; }
}
print "\n";
Dernière mise à jour : Dimanche, le 18 octobre 2015