python 信号捕获处理 异常终止

 基本信号:

import signal
 
signal.SIGABORT
signal.SIGHUP  # 连接挂断
signal.SIGILL  # 非法指令
signal.SIGINT  # 连接中断
signal.SIGKILL # 终止进程(此信号不能被捕获或忽略)
signal.SIGQUIT # 终端退出
signal.SIGTERM # 终止
signal.SIgalRM  # 超时警告
signal.SIGCONT  # 继续执行暂停进程

示例:test.py 

signal.signal(signalnum,handler)     设置信号处理的函数

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import signal,time
import sys
 
def term_sig_handler(signum,frame):
    print 'catched singal: %d' % signum
    sys.exit()
 
#直接执行ctrl+c
if __name__ == '__main__':
    signal.signal(signal.SIGTERM,term_sig_handler)   #kill pid
    signal.signal(signal.SIGINT,term_sig_handler)     #ctrl -c
    # signal.signal(signal.SIGKILL,term_sig_handler)  #kill -9 pid   这个信号,无法被捕捉或者忽略
    while True:
        print 'hello'
        time.sleep(3)

结果:

 

 

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...