加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Python的Ctrl + C 中断处理

(2012-11-18 20:40:00)
标签:

python

it

分类: 日志采集实现


今天在搞个python的程序,需要在按下Ctrl + C 或者 kill 掉进程时,做一些程序终止时,需要维护的程序环境,于是又问google大人,找到方法了, 记录下来。
代码大概:
#!/usr/local/bin/python
#-*- coding: utf-8 -*-
import re,sys,re
import string
import signal
 
def sigint_handler(signum, frame):
  global is_sigint_up
  is_sigint_up = True
  print 'catched interrupt signal!'
 
#
signal.signal(signal.SIGINT, sigint_handler)
 
#以下那句在windows python2.4不通过,但在freebsd下通过
signal.signal(signal.SIGHUP, sigint_handler)
 
signal.signal(signal.SIGTERM, sigint_handler)
is_sigint_up = False
 
# 循环
while True:
  try:
    # 你想做的事情
  
    if is_sigint_up:
     # 中断时需要处理的代码
      print "Exit"
      break
  except Exception, e:
    #  这里发生错误时需要写的代码
    break
以上算是大概的处理方式吧, 另外,我好喜欢python的缩进方式,最初时不习惯,但之后发觉代码看起来不怕乱,回头再看自己写的代码都能看得明.
python的Ctrl + C 中断处理, 记录.
Tag:

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有