基本信号:
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)
结果:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。