信号(signal)-- 进程之间通讯的方式,是一种软件中断。一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号。
几个常用信号:
SIGINT 终止进程 中断进程 (control+c)
SIGQUIT 退出进程
SIGTERM 终止进程 软件终止信号 (默认信号)
SIGKILL 终止进程 杀死进程
SIGALRM 闹钟信号
例如,要在按下control+c终止进程的时候,做些处理,代码如下:
import signal
def fun(sig, stack_frame):
print 'eixt %d, %s' % (sig,stack_frame)
exit(1)
signal.signal(signal.SIGINT, fun)
signal.signal(signal.SIGINT, fun)用来注册信号量的处理函数,
第一个参数是信号量,第二个参数可以传一个函数,
这个函数默认带有两个参数,第一个参数sig表示接收的信号量,第二个stack_frame可以理解为产生中断信号量sig的调用堆栈.