C-c や、kill によるシグナルのハンドラ 特殊ハッシュ %SIG に、シグナルが発生したときに実行するサブルーチンをセット -------- #!/usr/bin/perl $SIG{TERM} = \&catch_sig; $SIG{INT} = \&catch_sig; while(1) { print "loop\n"; sleep(1); } sub catch_sig { my $signal = shift; print "$signal\n"; exit 0; } -------- みたいな。 kill(引数なし)は TERM C-c は INT Linuxのshutdown時は HUP などなど ただし、KILL は拾えない。 サブルーチンでは、$ARGV[0] に、シグナルの種類の文字列が渡されるので、 shiftで拾っておけば、出力などに使える