Python Signal(信号) 异步系统事件
2019-03-17 21:57 JohnRain 阅读(289) 评论(0) 编辑 收藏 举报参考: https://blog.csdn.net/liangguohuan/article/details/7099978
常用信号
SIGINT 终止进程 中断进程 (control+c)
SIGTERM 终止进程 软件终止信号 (kill pid)
SIGKILL 终止进程 杀死进程
SIGALRM 闹钟信号
查看所有信号
>>> import signal
>>> dir(signal)
['NSIG', 'SIGABRT', 'SIGALRM', 'SIGBUS', 'SIGCHLD', 'SIGCLD', 'SIGCONT', 'SIGFPE', 'SIGHUP', 'SIGILL', 'SIGINT', 'SIGIO', 'SIGIOT', 'SIGKILL', 'SIGPIPE', 'SIGPOLL', 'SIGPROF', 'SIGPWR', 'SIGQUIT', 'SIGRTMAX', 'SIGRTMIN', 'SIGSEGV', 'SIGSTOP', 'SIGSYS', 'SIGTERM', 'SIGTRAP', 'SIGTSTP', 'SIGTTIN', 'SIGTTOU', 'SIGURG', 'SIGUSR1', 'SIGUSR2', 'SIGVTALRM', 'SIGWINCH', 'SIGXCPU', 'SIGXFSZ', 'SIG_DFL', 'SIG_IGN', '__doc__', '__name__', 'alarm', 'default_int_handler', 'getsignal', 'pause', 'signal']
例子:
import os
import signal
from time import sleep
def onsignal_term(a,b):
print('收到SIGTERM信号')
#这里是绑定信号处理函数,将SIGTERM绑定在函数onsignal_term上面
signal.signal(signal.SIGTERM,onsignal_term)
def onsignal_usr1(a,b):
print('收到SIGUSR1信号')
signal.signal(signal.SIGUSR1,onsignal_usr1)
def onsignal_int(a,b):
print('收到SIGUSR1信号')
#这里是绑定信号处理函数,将SIGUSR1绑定在函数onsignal_term上面
signal.signal(signal.SIGINT,onsignal_int)
while 1:
print('我的进程id是',os.getpid())
sleep(10)