python學習筆記——訊號模組signal

來源:互聯網
上載者:User

標籤:top   href   覆蓋   port   pytho   AC   學習python   標準   body   

基於python學習筆記——多處理序間通訊——Linux訊號基礎的學習基礎,進一步學習Python標準庫中的signal模組。

儘管signal是python中的模組,但是主要針對UNIX平台(比如Linux,MAC OS),而Windows核心中由於對訊號機制的支援不充分,所以在Windows上的Python不能發揮訊號系統的功能。

signal模組負責python程式內部的訊號處理;典型的操作包括訊號處理函數、暫停並等待訊號,以及定時發出SIGALRM等;

1 signal基本訊號名

引入模組: import signal 

signal.SIGHUP   # 串連掛斷;signal.SIGILL   # 非法指令;signal.SIGINT   # 終止進程(ctrl+c);signal.SIGTSTP  # 暫停進程(ctrl+z);signal.SIGKILL  # 殺死進程(此訊號不能被捕獲或忽略);signal.SIGQUIT  # 終端退出;signal.SIGTERM  # 終止訊號,軟體終止訊號;signal.SIGALRM  # 鬧鐘訊號,由signal.alarm()發起;signal.SIGCONT  # 繼續執行暫停進程;
2 常用訊號處理函數2.1  設定發送SIGALRM訊號的定時器

 signal.alarm(time) 

參數:time為時間參數

功能:在time時間後,向進程自身發送SIGALRM訊號

import signalimport timesignal.alarm(4)#4s後終止程式while True:    time.sleep(1)    print("學習python中...")

運行

學習python中...學習python中...學習python中...鬧鐘

 

當在一個程式中出現兩個signal.alarm()函數時

import signalimport timeprint(signal.alarm(3)) # 0time.sleep(1)print(signal.alarm(4)) # 2while True:    time.sleep(1)    print("學習python中...")

運行

02學習python中...學習python中...學習python中...鬧鐘

注意:在一個進程中,只能設定一個時鐘,如果設定第二個則會覆蓋第一個的時間,返回地一個的剩餘時間,第一個鬧鐘返回0。

2.1 設定訊號處理函數

 signal.signal(sig, handler) 

功能:按照handler制定的訊號處理方案處理函數

參數

sig:擬需處理的訊號,處理訊號只針對這一種訊號起作用sig

hander:訊號處理方案

    在訊號基礎裡提到,進程可以無視訊號、可採取預設操作、還可自訂動作;當handler為下列函數時,將有如下操作:

    SIG_IGN:訊號被無視(ignore)或忽略

    SIG_DFL:進程採用預設(default)行為處理

   function:handler為一個函數名時,進程採用自訂函數處理

   *SIGSTOP SIGKILL不能處理,只能採用

 

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.