Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / 在Perl中捕捉并处理信号

提问: 我需要通过使用Perl的自定义信号处理程序来处理一个中断信号。在一般情况下,我怎么在Perl程序中捕获并处理各种信号(如INT,TERM)?作为POSIX标准的异步通知机制,信号由操作系统发送给进程某个事件来通知它。当产生信号时,操作系统会中断目标程序的执行,并且该信号被发送到该程序的信号处理函数。可以定义和注册自己的信号处理程序或使用默认的信号处理程序。在Perl中,信号可以被捕获,并由一个全局的%SIG哈希变量指定处理函数。这个%SIG哈希变量的键名是信号值,键值是对应的信号处理程序的引用。因此,如果你想为特定的信号定义自己的信号处理程序,你可以直接在%SIG中设置信号的哈希值。下面是一个代码段来处理使用自定义信号处理程序中断(INT)和终止(TERM)的信号。$SIG{INT}= &signal_handler;$SIG{TERM} = &signal_handler;sub signal_handler {print "This is a custom signal handler ";die "Caught a signal $!";}%SIG其他的可用的键值有"IGNORE"和"DEFAULT"。当所指定的键值是"IGNORE"(例如,$SIG{CHLD}="IGNORE")时,相应的信号将被忽略。指定"DEFAULT"的键值(例如,$SIG{HUP}="DEFAULT"),意味着我们将使用一个(系统)默认的信号处理程序。Linux Socket实现机器间的通信(Perl) http://www.linuxidc.com/Linux/2013-03/81454.htmPerl 获取cpu使用率 http://www.linuxidc.com/Linux/2013-06/85950.htmPerl中pop与push函数 http://www.linuxidc.com/Linux/2013-01/78154.htm【Perl脚本】找出日志中的错误信息并发送邮件 http://www.linuxidc.com/Linux/2012-11/75069.htm用Perl 从MySQL取出数据做统计分析代码 http://www.linuxidc.com/Linux/2012-02/53289.htmPerl语言入门 第六版中文清晰PDF  http://www.linuxidc.com/Linux/2014-08/105402.htmPerl 的详细介绍:请点这里
Perl 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-10/107468.htm