python信号量

信号的概念

信号(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的调用堆栈.

Posted in 未分类

发表评论