python 进程超时自动退出 装饰器
为啥写这个装饰器
之前做用例测试的时候,单进程测试,发现有些用例执行时间特别长,卡死,影响下面用例的执行。刚开始在主函数内添加了超时退出,但是感觉用的不方便,虽然也能实现功能,但是主函数变得特别累赘,所以还是选择写一个装饰器。
思路
 利用python的多线程一个线程控制主进程运行时间,时间到则利用线程os._exit()迫使主进程退出。另一个线程调用主进程函数执行脚本。
代码
from functools import wraps
import time
import os
from threading import Thread
def set_time_limit(t):
    def auto_quit(t1):
        '''此为控制进程超时退出的线程函数'''
        time.sleep(t1)
        print("time out {}".format(t1))
        os._exit(
                
                  
                  
                  
                  
本文介绍了一种使用Python多线程创建进程超时装饰器的方法,通过一个线程监控主进程时间,到达设定超时时利用os._exit()强制退出。另一线程执行任务,测试案例展示了不同超时和执行时间下的效果,讨论了守护线程和join()函数的作用。
          
最低0.47元/天 解锁文章
                          
                      
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
              
            
                  
					8325
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
            


            