Python中常用信号signal类型实例

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

相关文章

import的本质解析

上一篇文章中我们介绍了python中hashlib模块用法示例,详情参见:/post/127103.htm。今天我们看看import的有关内容。 编程时总是用到import导入,动不动就...

Python的Twisted框架中使用Deferred对象来管理回调函数

Python的Twisted框架中使用Deferred对象来管理回调函数

首先抛出我们在讨论使用回调编程时的一些观点: 激活errback是非常重要的。由于errback的功能与except块相同,因此用户需要确保它们的存在。他们并不是可选项,而是必选项...

Python生成随机密码

本人  python新手,使用的环境是python2.7,勿喷 复制代码 代码如下: # -*- coding:utf8 -*- import random import st...

Python构建XML树结构的方法示例

本文实例讲述了Python构建XML树结构的方法。分享给大家供大家参考,具体如下: 1.构建XML元素 #encoding=utf-8 from xml.etree import E...

python使用opencv在Windows下调用摄像头实现解析

python使用opencv在Windows下调用摄像头实现解析

这篇文章主要介绍了python使用opencv在Windows下调用摄像头实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 环境...