[root@stationx perl]# cat sig.pl
#!/usr/bin/perl
sub handler {
        local($sig)=@_;#first argument is signal name
        print "caught SIG$sig -- shutting down\n";
        exit(0);
}
$SIG{'INT'}='handler';#catch Ctrl-C
print "here i am!\n";
sleep(3);
$SIG{'INT'}='DEFAULT';
 

代码虽然恨少,但是觉得该例子还是不错的,首先对于perl初学者来说,里面暗含的知识点太多了,一时不好理解,其二,要明白linux系统下sig处理的原理。

理解的时候可以借鉴bash中的trap。