Python的Ctrl + C 中断处理

今天在搞个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 中断处理, 记录.

关于无聊人

一个无聊人而已
此条目发表在python分类目录。将固定链接加入收藏夹。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注