Python中常用訊號signal類型執行個體,pythonsignal
本文研究的主要是Python中的Signal 訊號的相關內容,具體如下。
常用訊號類型
- SIGINT 終止進程 中斷進程,不可通過signal.signal()捕捉(相當於Ctrl+C)
- SIGTERM 終止進程 軟體終止訊號,可通過signal.signal()捕捉(預設訊號,當os.kill()沒有指明訊號類型時,預設的是該訊號)
- SIGKILL 終止進程 殺死進程,不可捕捉(相當於linux下的kill命令,windows下使用會拋出異常)
- SIGALRM 鬧鐘訊號 可以通過signal.alarm()和os.kill()發送該訊號,可通過signal.signal()捕捉
- SIGQUIT 退出進程 和SIGTERM類似,可通過signal.signal()捕捉
a.py
#coding=utf8 import signal,os,time def onsignal_term(a,b): print '收到SIGTERM訊號' def onsignal_quit(a,b): print '收到SIGQUIT訊號' def onsignal_alrm(a,b): print '收到SIGALRM訊號' signal.signal(signal.SIGTERM,onsignal_term) signal.signal(signal.SIGQUIT,onsignal_quit) signal.signal(signal.SIGALRM,onsignal_alrm) signal.alarm(10) while 1: print '進程id:',os.getpid() time.sleep(2)
b.py
import os,signal,time os.kill(5097,signal.SIGTERM) time.sleep(5) #如果進程被終止後面的訊號不會起作用 os.kill(4976,signal.SIGINT) os.kill(5006,signal.SIGKILL) os.kill(5071,signal.SIGQUIT) os.kill(5097,signal.SIGALRM)
總結
以上就是本文關於Python中常用訊號signal類型執行個體的全部內容,希望對大家有所協助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支援!