使用signal,能让你的程序功能更丰富。要在Linux下列出所有的signal, 利用kill -l即可。 下面是我机器上的输出(后面还有到64的没列出来):
其中每个signal在这里有介绍. 下面是一个例子,禁止ctrl+c (ctrl+c 会产生一个INT信号给当前程序) 来关闭当前程序
$SIG{'INT'} = 'INT_handler'; #another way is $SIG{'INT'} = \INT_handler ;
for ($x = 0; $x 10; $x++) { print("$x\n"); sleep 1; }
其中的%SIG 是perl内置的hash,专门用来处理信号的。如果要ignore某个信号,可以写成