关闭

python signal模块

标签: python
331人阅读 评论(0) 收藏 举报
分类:

python signal模块

python signal模块的使用实例。只有在主线程里面才可以调用signal.signal函数,而子线程可以调用signal.alarm函数对信号的状态进行设置。
1. signal处理handler

import signal
...
def sigint1(self, signum, frame):
        if self.delete:
            print >>sys.stderr, (
                'SIGINT received; finishing up and running DELETE.\n'
                'Send one more SIGINT to exit *immediately*.')
            self.aborted = True
            if self.running and not isinstance(self.running, BenchDELETE):
                self.running.aborted = True
            signal.signal(signal.SIGINT, self.sigint2)
        else:
            self.sigint2(signum, frame)
 def sigint2(self, signum, frame):
        sys.exit('Final SIGINT received.')
  1. 注册信号处理的handler
signal.signal(signal.SIGINT, self.sigint1)

以上代码取自swift-bench。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:78457次
    • 积分:1777
    • 等级:
    • 排名:千里之外
    • 原创:101篇
    • 转载:3篇
    • 译文:2篇
    • 评论:9条
    文章分类
    最新评论