Python中常用信号signal类型实例

yipeiwu_com6年前Python基础

本文研究的主要是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类型实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

在VS Code上搭建Python开发环境的方法

在VS Code上搭建Python开发环境的方法

1、下载安装 python https://www.python.org/downloads/windows/ web-based installer 在线安装 executable...

python中字符串变二维数组的实例讲解

python中字符串变二维数组的实例讲解

有一道算法题题目的意思是在二维数组里找到一个峰值。要求复杂度为n。 解题思路是找田字(四边和中间横竖两行)中最大值,用分治法递归下一个象限的田字。 在用python定义一个二维数组时可以...

pyspark操作MongoDB的方法步骤

pyspark操作MongoDB的方法步骤

如何导入数据 数据可能有各种格式,虽然常见的是HDFS,但是因为在Python爬虫中数据库用的比较多的是MongoDB,所以这里会重点说说如何用spark导入MongoDB中的数据。...

用python找出那些被“标记”的照片

用python找出那些被“标记”的照片

源码传送门 环境准备 下面的两个第三方模块都可以直接通过pip快速安装,这里使用py36作为运行环境。 python3.6 requests exifread 思路...

Selenium的使用详解

Selenium的使用详解

先来看一下功能实现,代码如下: from selenium import webdriver from selenium.webdriver.common.by import By...