Version: | 1.0 of 2012/05/04 |
---|---|
Author: | SUZUKI Masashi / masasuzu |
Mail: | m15.suzuki.masashi@gmail.com |
IPCのことを書く。
自分のシステムで使えるsignalは”kill -l”で確認できます。
TODO:テーブルで書く
多くのデーモンプログラムで設定ファイルを再読込するようプロセスに通知するために使用されます。
キー入力による割り込み。
できる限り正常終了しようとする。
強制終了
タイマー割り込み
%SIG変数にハンドリング関数を定義します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | use strict;
use warnings;
use feature qw( say state );
sub signal_defined_proc {
my $cb = shift;
local $SIG{HUP} = sub {
warn '握りつぶすよ';
};
local $SIG{INT} = sub {
warn '1秒待って死ぬよ';
sleep 1;
die 'さようなら';
};
local $SIG{ALRM} = sub {
warn 'アラームを受け取ったよ';
};
$cb->();
}
sub normal_proc {
my $cb = shift;
$cb->();
}
my $cb = sub {
state $i;
alarm 5;
say ++$i and sleep 1 for 1..10;
};
say 'シグナル定義した場合';
signal_defined_proc($cb);
say 'デフォルトの場合';
normal_proc($cb);
|