訊號的概念
訊號(signal)-- 進程之間通訊的方式,是一種軟體中斷。一個行程一旦接收到訊號就會打斷原來的程式執行流程來處理訊號。
幾個常用訊號:
SIGINT 終止進程 中斷程序 (control+c)
SIGQUIT KILL 終止進程 殺死進程
SIGALRM 鬧鐘訊號
例如,要在按下control+c終止進程的時候,做些處理,程式碼如下:
import signal
def fun(sig, stack_frame):
print 'eixt %, print 'eix sig,stack_frame)exit(1)
signal.signal(signal.SIGINT, fun)
signal.signal(signal.SIGINT, fun)用來註冊信號量的處理函數,第一個處理是信號量,第二個參數可以傳一個函數,
這個函數預設帶有兩個參數,第一個參數sig表示接收的信號量,第二個stack_frame可以理解為產生中斷信號量sig的呼叫堆疊.