欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

對(duì)Python信號(hào)處理模塊signal詳解

 更新時(shí)間:2019年01月09日 09:47:44   作者:kongxx  
今天小編就為大家分享一篇對(duì)Python信號(hào)處理模塊signal詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

Python中對(duì)信號(hào)處理的模塊主要是使用signal模塊,但signal主要是針對(duì)Unix系統(tǒng),所以在Windows平臺(tái)上Python不能很好的發(fā)揮信號(hào)處理的功能。

要查看Python中的信號(hào)量,可以使用dir(signal)來查看。

signal.signal()

在signal模塊中,主要是使用signal.signal()函數(shù)來預(yù)設(shè)信號(hào)處理函數(shù)

singnal.signal(signalnum, handler)

其中第一個(gè)參數(shù)是信號(hào)量,第二個(gè)參數(shù)信號(hào)處理函數(shù)。

下面看個(gè)簡(jiǎn)單的例子,其中

定義了一個(gè)信號(hào)處理函數(shù)signal_handler(),用來處理程序接收到信號(hào)時(shí)執(zhí)行的操作

一段循環(huán)等待發(fā)送信號(hào)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import signal
import time

def signal_handler(signum, frame):
  print('Received signal: ', signum)

while True:
  signal.signal(signal.SIGHUP, signal_handler) # 1
  signal.signal(signal.SIGINT, signal_handler) # 2
  signal.signal(signal.SIGQUIT, signal_handler) # 3
  signal.signal(signal.SIGALRM, signal_handler) # 14
  signal.signal(signal.SIGTERM, signal_handler) # 15
  signal.signal(signal.SIGCONT, signal_handler) # 18
  while True:
    print('waiting')
    time.sleep(1)

運(yùn)行上面的程序

python test.py

然后另外開一個(gè)終端,找到對(duì)應(yīng)的進(jìn)程,并執(zhí)行下面的kill操作

kill -1 <pid>
kill -2 <pid>
kill -3 <pid>
kill -14 <pid>
kill -15 <pid>
kill -18 <pid>
kill -9 <pid> # 最后殺死進(jìn)程

此時(shí)可以看到test.py的輸出,打印的就是具體接收到的信號(hào)。

這里注意一點(diǎn)就是程序中注冊(cè)了SIGINT信號(hào),所以在運(yùn)行程序后使用CTRL+C并不能結(jié)束進(jìn)程,而是仍然打印進(jìn)程接收到的信號(hào)。

signal.alarm()

另外,signal模塊提供了一個(gè)很有用的函數(shù)signal.alarm(),它用于在一定時(shí)間后向進(jìn)程自身發(fā)送SIGALRM信號(hào),比如下面的例子設(shè)置5秒后向自己發(fā)送一個(gè)SIGALRM信號(hào)。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import signal
import time

def signal_handler(signum, frame):
  print('Received signal: ', signum)

while True:
  signal.signal(signal.SIGALRM, signal_handler) # 14
  signal.alarm(5)
  while True:
    print('waiting')
    time.sleep(1)

以上這篇對(duì)Python信號(hào)處理模塊signal詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • numpy創(chuàng)建神經(jīng)網(wǎng)絡(luò)框架

    numpy創(chuàng)建神經(jīng)網(wǎng)絡(luò)框架

    本文介紹了使用numpy從零搭建了一個(gè)類似于pytorch的深度學(xué)習(xí)框架,可以用在很多地方,有需要的朋友可以自行參考一下
    2021-08-08
  • 利用Python編寫一個(gè)藏頭詩(shī)在線生成器

    利用Python編寫一個(gè)藏頭詩(shī)在線生成器

    這篇文章主要介紹了如何利用Python編寫一個(gè)藏頭詩(shī)在線生成器,文中的示例代碼講解詳細(xì),感興趣的同學(xué)可以跟隨小編一起動(dòng)手嘗試一下
    2022-04-04
  • python中l(wèi)ogging包的使用總結(jié)

    python中l(wèi)ogging包的使用總結(jié)

    本篇文章給大家詳細(xì)講述了python中l(wèi)ogging包的使用的相關(guān)知識(shí)點(diǎn)以及原理分析,有興趣的朋友可以參考學(xué)習(xí)下。
    2018-02-02
  • Python 字典中的所有方法及用法

    Python 字典中的所有方法及用法

    這篇文章主要介紹了Python 字典中的所有方法及用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Python利用遞歸實(shí)現(xiàn)文件的復(fù)制方法

    Python利用遞歸實(shí)現(xiàn)文件的復(fù)制方法

    今天小編就為大家分享一篇Python利用遞歸實(shí)現(xiàn)文件的復(fù)制方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python三方庫(kù)之requests的快速上手

    python三方庫(kù)之requests的快速上手

    這篇文章主要介紹了python三方庫(kù)之requests的快速上手,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 基礎(chǔ)語音識(shí)別-食物語音識(shí)別baseline(CNN)

    基礎(chǔ)語音識(shí)別-食物語音識(shí)別baseline(CNN)

    這篇文章主要介紹了一個(gè)基礎(chǔ)語音識(shí)別題目-食物語音識(shí)別baseline(CNN),代碼詳細(xì)嗎,對(duì)于想要學(xué)習(xí)語音識(shí)別的朋友可以參考下
    2021-04-04
  • python類參數(shù)self使用示例

    python類參數(shù)self使用示例

    python中__new__和__init__到底是怎么一回事,使用方法看下面的代碼,大家參考使用吧
    2014-02-02
  • Python正確調(diào)用 jar 包加密得到加密值的操作方法

    Python正確調(diào)用 jar 包加密得到加密值的操作方法

    這篇文章主要介紹了Python 正確調(diào)用 jar 包加密得到加密值的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • python中函數(shù)傳參詳解

    python中函數(shù)傳參詳解

    本文給大家介紹的是Python中函數(shù)傳參的使用方法及示例,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下
    2016-07-07

最新評(píng)論