Perl开发: SIG{INT}理解
发布时间:2020-12-16 00:32:31 所属栏目:大数据 来源:网络整理
导读:中断信号 的handle函数可能在执行的过程中被进一步的中断,如果这个handle函数执行过程比较长。并且会recursively调用之前的中断Handle函数。所以最保险的做法是在handle函数声明内部的SIG函数。参考的demo code$int = 0;$SIG{INT} = sub { $int = 1; $SIG{I
中断信号 的handle函数可能在执行的过程中被进一步的中断,如果这个handle函数执行过程比较长。并且会recursively调用之前的中断Handle函数。所以最保险的做法是在handle函数声明内部的SIG函数。 参考的demo code $int = 0; $SIG{INT} = sub { $int = 1; $SIG{INT} = 'IGNORE'; $ index=0; while(1) { print "inside INT $index ....n"; $index++; sleep(2); if($index >500) { last; } } }; while (1) { print "Processing..n"; sleep 1; if ($int == 1) { print "Break? "; $_ = <>; chomp; if (/y/i) { exit; } else { $int = 0; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |