Python中常用訊號signal類型執行個體,pythonsignal

來源:互聯網
上載者:User

Python中常用訊號signal類型執行個體,pythonsignal

本文研究的主要是Python中的Signal 訊號的相關內容,具體如下。

常用訊號類型

  1. SIGINT 終止進程 中斷進程,不可通過signal.signal()捕捉(相當於Ctrl+C)
  2. SIGTERM 終止進程 軟體終止訊號,可通過signal.signal()捕捉(預設訊號,當os.kill()沒有指明訊號類型時,預設的是該訊號)
  3. SIGKILL 終止進程 殺死進程,不可捕捉(相當於linux下的kill命令,windows下使用會拋出異常)
  4. SIGALRM 鬧鐘訊號 可以通過signal.alarm()和os.kill()發送該訊號,可通過signal.signal()捕捉
  5. 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類型執行個體的全部內容,希望對大家有所協助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.