如何在python中的特定超时后杀死进程



我有一个python函数,它有一个循环,可能会落入infinte循环。如果超过时间限制,比如说10秒,我想终止功能并打印错误

例如,这是包含无限循环的函数

def myfunc(data):
while True:
data[0]+=10
return data
data=[57,6,879,79,79,]

在这里呼叫

打印(myfunc(数据((

我希望它完全终止进程并打印消息。我正在修窗户。

任何参考资料或资源都会有所帮助。

感谢

也许您可以尝试使用func-timeoutPython包。

您可以使用以下命令安装它:

pip install func-timeout

此代码将解决您的问题"如果超过时间限制,比如说10秒,我想终止函数并打印错误;

from time import process_time as timer
def whatever(function):
start = timer()
infinite loop here:
end = timer()
(your code here)
if end >= 10:
print(whatever)
return

细分:对于时间模块,有几个选项可以执行此操作
在程序开始时导入方法
。在(无限循环(开始时,start=timer((将调用process_time并将值保存为start

end=timer((将继续发送对process_time存储新值的调用
如果end>=10:将在每次循环迭代时继续检查计数
打印(无论什么(
如果在下一次循环检查时时间超过10秒,返回将通过转义自动终止函数。

这并没有说";如何停止process_time";如果它继续在后台运行,并且你必须在上停止它,那么它就会被称为idk。但这应该会回答你的问题。你可以根据我给你的进一步调查
注意:这不是为了生成"精度";需要找到一种更复杂的方法

相关内容

  • 没有找到相关文章

最新更新