有没有办法让python程序在崩溃时运行一个动作?

有没有办法让python程序在崩溃时运行一个动作?,第1张

概述我有一个带有循环的 python脚本,每次经常崩溃并有各种异常,需要重新启动.有没有办法在发生这种情况时运行一个动作,以便我可以收到通知? 您可以通过为 sys.excepthook handler分配自定义函数来安装异常挂钩.只要存在未处理的异常(因此退出解释器的异常),就会调用该函数. import sysdef myexcepthook(type, value, tb): imp 我有一个带有循环的 python脚本,每次经常崩溃并有各种异常,需要重新启动.有没有办法在发生这种情况时运行一个动作,以便我可以收到通知?解决方法 您可以通过为 sys.excepthook handler分配自定义函数来安装异常挂钩.只要存在未处理的异常(因此退出解释器的异常),就会调用该函数.

import sysdef myexcepthook(type,value,tb):    import traceback    from email.mime.text import MIMEText    from subprocess import Popen,PIPE    tbtext = ''.join(traceback.format_exception(type,tb))    msg = MIMEText("There was a problem with your program:\n\n" + tbtext)    msg["From"] = "me@example.com"    msg["To"] = "you@example.com"    msg["Subject"] = "Program exited with a traceback."    p = Popen(["/usr/sbin/sendmail","-t"],stdin=PIPE)    p.communicate(msg.as_string())sys.excepthook = myexcepthook

只要程序在您的系统上运行sendmail命令,此异常挂钩会在程序退出时通过电子邮件向您发送回溯.

总结

以上是内存溢出为你收集整理的有没有办法让python程序在崩溃时运行一个动作?全部内容,希望文章能够帮你解决有没有办法让python程序在崩溃时运行一个动作?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1193005.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存