Last Update 2008/05/18
シグナル発生時の処理を指定します。
(例)
print "***** %SIG一覧 *****\n";
foreach $data (keys %SIG)
{
print "$data\n";
}
print "***** ここまで *****\n";
$SIG{INT} = 'sig_test';
print "サブルーチンsig_test()を利用\n";
print "ここで入力待ち([CTRL] + [C]を押すとシグナル発生) → ";
$in = <>;
$SIG{INT} = 'DEFAULT';
print "デフォルトに戻す\n";
print "ここで入力待ち([CTRL] + [C]を押すとシグナル発生) → ";
$in = <>;
sub sig_test
{
print "\n$_[0]発生 : [ENTER]を押して終了\n";
}
実行結果
***** %SIG一覧 *****
ABRT
TRAP
EMT
TTOU
IO
URG
STOP
PROF
TSTP
SEGV
PIPE
USR2
INFO
SYS
VTALRM
CONT
TERM
CHLD
BUS
HUP
FPE
XCPU
IOT
TTIN
XFSZ
INT
KILL
QUIT
THR
WINCH
USR1
ILL
ALRM
***** ここまで *****
サブルーチンsig_test()を利用
ここで入力待ち([CTRL] + [C]を押すとシグナル発生) → ^C
INT発生 : [ENTER]を押して終了
^C
INT発生 : [ENTER]を押して終了
デフォルトに戻す
ここで入力待ち([CTRL] + [C]を押すとシグナル発生) → ^C