Python Signal 信号 (二十一)

来源:互联网 发布:c 编程 猜字小游戏 编辑:程序博客网 时间:2024/05/16 12:25
常用信号类型
SIGINT     终止进程     中断进程,不可通过signal.signal()捕捉(相当于Ctrl+C)SIGTERM    终止进程     软件终止信号,可通过signal.signal()捕捉(默认信号,当os.kill()没有指明信号类型时,默认的是该信号)SIGKILL    终止进程     杀死进程,不可捕捉(相当于linux下的kill命令,windows下使用会抛出异常)SIGALRM    闹钟信号     可以通过signal.alarm()和os.kill()发送该信号,可通过signal.signal()捕捉SIGQUIT    退出进程     和SIGTERM类似,可通过signal.signal()捕捉


a.py

#coding=utf8import signal,os,timedef onsignal_term(a,b):    print '收到SIGTERM信号'def onsignal_quit(a,b):    print '收到SIGQUIT信号'def onsignal_alrm(a,b):    print '收到SIGALRM信号'    signal.signal(signal.SIGTERM,onsignal_term)signal.signal(signal.SIGQUIT,onsignal_quit)signal.signal(signal.SIGALRM,onsignal_alrm)signal.alarm(10)while 1:    print '进程id:',os.getpid()    time.sleep(2)

b.py
import os,signal,timeos.kill(5097,signal.SIGTERM)time.sleep(5)#如果进程被终止后面的信号不会起作用os.kill(4976,signal.SIGINT)os.kill(5006,signal.SIGKILL)os.kill(5071,signal.SIGQUIT)os.kill(5097,signal.SIGALRM)


0 0
原创粉丝点击