我写了一个简单的程序来处理一些信号.
我的计划是,
我的计划是,
#!/usr/bin/perl use strict; use warnings; $SIG{INT} = $SIG{TERM} = $SIG{HUP} = \&signal_handler; sub signal_handler { print " ".localtime()." Handled the signal\n"; }; while(1) { sleep(1); }
在与信号处理程序对应的%SIG哈希中指定了哪些信号
将在收到信号时被呼叫.
我为三个信号声明了一个信号处理程序.
我想找到收到的信号.
在C中,它将通过信号处理程序参数本身给出信号编号.
例,
void sig_handler(int signo);
我不知道在perl.I试图找到.但是,我没有找到任何答案.
解决方法
信号名称(INT,TERM等)作为参数传递给信号处理程序.你可以写例如:
sub signal_handler { my $signal = shift; print " ".localtime()." Handled the signal $signal\n"; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。