安装func_timeout库
pip install func_timeout
设定函数超执行时间
@func_set_timeout(60) # 设定超时时间 def run_order(order): print(os.popen(order).read()) print('脚本运行成功')
若调用函数超时自动走异常
try: run_order(order) except func_timeout.exceptions.FunctionTimedOut: print('脚本运行超时')
实例
#!/usr/bin/env python # -*- coding:utf-8 -*- import time import func_timeout from func_timeout import func_set_timeout @func_set_timeout(5) # 设定函数执行时间 def task(): print('开始运行!') time.sleep(6) return '执行成功,未超时' if __name__ == '__main__': try: print(task()) # 若调用函数超时走异常 except func_timeout.exceptions.FunctionTimedOut: print('执行函数超时') raise TimeoutError else: print('没抛异常,继续') finally: print('不管有没有抛异常,我都继续')
http://www.manongjc.com/detail/24-gmifyruftikjsvv.html