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

對Python信號處理模塊signal詳解

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

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

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

signal.signal()

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

singnal.signal(signalnum, handler)

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

下面看個簡單的例子,其中

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

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

#!/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

然后另外開一個終端,找到對應(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)程

此時可以看到test.py的輸出,打印的就是具體接收到的信號。

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

signal.alarm()

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

#!/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)

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

相關(guān)文章

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

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

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

    利用Python編寫一個藏頭詩在線生成器

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

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

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

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

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

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

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

    python三方庫之requests的快速上手

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

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

    這篇文章主要介紹了一個基礎(chǔ)語音識別題目-食物語音識別baseline(CNN),代碼詳細(xì)嗎,對于想要學(xué)習(xí)語音識別的朋友可以參考下
    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ì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • python中函數(shù)傳參詳解

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

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

最新評論