最近写了个python脚本,在服务器上运行,经常莫名其妙的退出,也不知道原因,后面查了资料得到下面两个方法去捕捉退出的发生,一个是捕捉kill信号,另一个是注册atexit函数
例子:
import os
import sys
import time
import atexit
import signal
import traceback
def term_sig_handler(signum, frame):
print 'catched singal: %d' % signum
sys.exit()
@atexit.register
def atexit_fun():
print 'i am exit, stack track:'
exc_type, exc_value, exc_tb = sys.exc_info()
traceback.print_exception(exc_type, exc_value, exc_tb)
if __name__ == '__main__':
# catch term signal
signal.signal(signal.SIGTERM, term_sig_handler)
signal.signal(signal.SIGINT, term_sig_handler)
while True:
print 'hello'
time.sleep(3)
输出:
hello
hello
hello
hello
hello
hello
hello
catched singal: 15
i am exit, stack track: None
注意:atexit_fun不能在main之后,不然不会执行
分享到:
相关推荐
某天在群内有同学问到,在python下我用input或者raw_input都得输入完后回车才能获取到输入的值,那如何实现任意键退出暂停等功能呢,我当时也没有多想,因为接触python时间也不算长,主要还是Linux下的。 要实现该...
要实现该功能,需要的就是暂停程序、等待并捕捉用户的一个键盘输入,然后继续执行。Python 有内建的库能帮我们实现该功能,不过要区别对待 Windows 和 Linux。 msvcrt 中的 getch() 方法 能够帮助在 Windows 下实现...
本资源为python代码,利用电脑内置摄像头对动态物体进行隐秘的捕捉(无窗口视频显示),捕捉照片保存在同目录下的motion_capture_image文件夹中,执行后可按Q或q退出。初衷为揪出老鼠真面目用,实现较为初级简单,...
根据商品id指定需要抓取的商品范围,抓取指定商品详情页价格、库存、运费信息,存入数据库作数据分析和参考 ...3.程序运行中途报错,可能是出现滑动验证条导致页面捕捉不到元素,中途手动完成验证即可
一个拾色器(Color Picker)的Python项目可以用于从屏幕上捕捉像素颜色,并显示该颜色的RGB值。以下是一个简单的描述: 导入相关库:首先需要导入必要的Python库,如pyautogui(用于截取屏幕像素颜色)、tkinter...
所以我在每一步都增加了异常捕捉,如果出现异常就退出当前选课循环,进入新的选课过程中 避免了因服务器的原因而导致被请喝 Pyhton 本脚本可适用于Python3.6环境下,不支持Python2环境 依赖安装 就三个依赖库就...
之前用Java的时候,在容易出错的地方我们经常使用try…catch或者try…catch…finally来捕捉和显示异常,在python中很高兴地发现它也有这样的机制。 try..except 这个用于当异常出现的时候,用except从句来处理异常,...
本文实例为大家分享了python实现动态人脸捕获的具体代码,供大家参考,具体内容如下 步骤 载入cv2 捕获摄像头 获取第一帧图像 定义人脸识别信息 开始循环 对第一帧图像进行识别 标示脸部特征和方框 显示帧 ...
使用signal.SIGALRM在限定时间后退出进程 捕捉用户的Ctrl + C 使用signal.SIGALRM实现定时器 使用pdb进行调试 使用Python开发阿里云函数计算初步服务 修复gbk编码的文件名 破解RSA!破解短长度密钥的RSA加密 初步与...
该软件将监视启动后的状态,监视按键和键盘的状态,一旦检测到某个键,它将捕捉照片并将其发送到您的配置电子邮件中。 该应用程序仅接受gmail,如果您的gmail未配置为第三方应用程序,请按照以下说明进行操作。 ...
用户还可以在区域之间向左/向右捕捉窗口。 如何使用: 活泼的区域可以从控制台命令来启动snappy或通过调用模块python -m snappyzones 。 这两种启动方法本质上是同义词。 首次使用时,我们需要配置我们的区域。 ...
Python等,大都提供了异常处理机制。增加了异常处理机制后的程序有更好的容错性,更加健壮。 传统错误处理的缺陷 •传统错误处理机制,主要如下两个缺点: –无法穷举所有异常情况:因为人类知识的...