python中的signal

信号在UNIX平台执行程序中非常常见,下面主要是说python中信号的使用。

信号的定义

man 7 signal

预设信号处理函数

'''
signalnum为某个信号
handler为该信号的处理函数。
    当handler为signal.SIG_IGN时,信号被无视(ignore)。
    当handler为singal.SIG_DFL,进程采取默认操作(default)。
    当handler为一个函数名时,进程采取函数中定义的操作。
'''
singnal.signal(signalnum, handler)

信号等待

'''
此函数会阻塞进程,当接收到信号时,进程从阻塞中恢复,并执行信号处理函数。
'''
signal.pause()

SIGALRM信号

'''
使用后,进程在指定时间后,向自身发生SIGALRM信号
'''
signal.alarm()

发送信号

'''
向pid进程,发送sid信号
'''
os.kill(pid, sid)
'''
向pgid进程组,发送sid信号
'''
os.killpg(pgid, sid)

你可能感兴趣的:(python中的signal)