广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python设置函数调用超时,进程卡住
  • 797
分享到

Python设置函数调用超时,进程卡住

函数进程Python 2023-01-31 02:01:37 797人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

背景:        最近写的python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置了函数调用超时机制。 代码: import time import signal def test(i): tim

背景:
       最近写的python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置了函数调用超时机制。

代码:
import time
import signal


def test(i):
    time.sleep(i % 4)
    print "%d within time" % (i)
    return i


if __name__ == '__main__':
    def handler(signum, frame):
    raise AssertionError


for i in range(1, 10):
    try:
        signal.signal(signal.SIGALRM, handler)
        signal.alarm(3)
        test(i)
    except AssertionError:
        print "%d timeout" % (i)
    finally:
        signal.alarm(0)
        signal.signal(signal.SIGALRM, signal.SIG_DFL)



说明:
        1、调用test函数超时监控,使用sleep模拟函数执行超时
        2、引入signal模块,设置handler捕获超时信息,返回断言错误
        3、alarm(3),设置3秒闹钟,函数调用超时3秒则直接返回
        4、捕获异常,打印超时信息

程序执行结果:
1 within time
2 within time
3 timeout
4 within time
5 within time
6 within time
7 timeout
8 within time
9 within time


博客原文:Http://blog.sina.com.cn/s/blog_63041bb80102uy5o.html

--结束END--

本文标题: Python设置函数调用超时,进程卡住

本文链接: https://www.lsjlt.com/news/186570.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python设置函数调用超时,进程卡住
    背景:        最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置了函数调用超时机制。 代码: import time import signal def test(i): tim...
    99+
    2023-01-31
    函数 进程 Python
  • Python设置函数调用超时
    http://blog.sina.com.cn/s/blog_63041bb80102uy5o.html 背景:        最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置了函数调用超时机制。 代...
    99+
    2023-01-31
    函数 Python
  • Python怎么设置函数超时结束
    在Python中利用timeout-decorator库设置函数超时结束,具体方法如下:首先,在Python中安装timeout-decorator库;pip install timeout-decoratortimeout-decorat...
    99+
    2022-10-14
  • Python调用系统命令设置超时时间
        python通过subprocess模块调用系统命令。实际使用中,有一次是命令进入了交互模式,结果web端直接卡死了。调用时设置一个超时时间,时间用完后自动断开。这样就避免了系统因为调用命令而僵死的问题。def sys_comman...
    99+
    2023-01-31
    命令 时间 系统
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作