Python中常用信号signal类型实例

(编辑:jimmy 日期: 2025/9/18 浏览:2)

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

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。