Perl $SIG{ALRM}处理服务超时
2009-06-01 17:30
155 查看
Perl $SIG{ALRM}处理服务超时 #!/usr/bin/perl some_sub(); some_sub(); sub some_sub { eval { local $SIG{ALRM} = sub {die "died in SIG ALRM";}; #超时处理过程 alarm(1);#设定1秒钟后如果下面的代码没处理完,则进入超时处理过程 #做事情 my $i=0; $i++ while 1; alarm(0);#事情已经做完,取消超时处理设置 }; if ($@) { if ($@ =~ /died in SIG ALRM/) { print "caught the error"; } else { print $@; } } } 例子:每秒打印一个"alarm" #!/usr/bin/perl -W $SIG{ALRM}=sub {print "alarm./n";alarm(1)}; #超时处理 alarm(1);#1秒后进入超时处理 while(1){}
相关文章推荐
- 登录验证web服务引用时 "超时"报错处理...
- C指针原理(90)-LINUX应用(4)-带超时处理的tcp服务
- [Perl] $SIG{ALRM}
- 调用异步服务时的超时处理
- Spring Cloud feign 服务超时处理
- 线上服务依赖的tair服务随机性的短时大幅超时问题排查处理
- perl SIG 信号处理
- 谈服务超时问题的处理
- 调用异步服务时的超时处理
- excel创建服务失败处理办法
- perl对字符串的处理
- Android Activity回收与操作超时处理
- perl学习(10) 字符串处理函数和排序
- Perl字符串处理函数大全
- axios 请求超时处理
- 《Apache服务之php/perl/cgi语言的支持》RHEL6——服务的优先级
- spring cloud服务连接超时解决方法
- 数据库查询超时的处理方法
- WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理(转)
- Perl语言学习笔记 9 正则表达式处理文本