Loose-Info.com

Last Update 2019/12/25


TOP - Perl - 特殊変数 - %SIG

シグナル発生時の処理を指定します。

(例)
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