检查python脚本是否正常运行以及是否重新运行它?

时间:2016-07-23 13:00:39

标签: python python-2.7

我有一个非常错误的脚本,每隔几个小时由于错误而停止。我不用Python编写代码,但我知道基础知识,所以我想知道如何制作一个脚本来检查另一个脚本是否有错误,如果真的只重新运行它? 很抱歉没有提供任何示例,但我认为你明白了,因为我不擅长Python,这比尝试理解脚本和编辑它更容易。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

到目前为止,最简单的方法是等待它退出并在崩溃时始终重新启动它;程序运行时,以下bash循环将不执行任何操作,并在退出后立即重新启动:

while true
do
    python buggy_script.py arguments
    echo oops, restarting...
done

就是这样。它将永远运行,直到你杀死运行它的bash脚本。

PS。当然这假设您使用的是OS X或Linux;如果您使用的是Windows,请使用等效的批处理或PowerShell脚本。

答案 1 :(得分:0)

您可以为脚本创建守护程序。

基本上将主要功能保留在一个永远运行的循环中。 import logging import time if __name__ == '__main__': while True: //log errors logging.basicConfig(filename='log_file.log', level=logging.DEBUG) // use try except to handle exceptions try: // your code statements and function calls except Exception as e: // log the error for debugging logging.error(str(e)) // sleep the program if you want it to for desired amount of time. time.sleep(delay)

我设置的日志记录级别是debug。您可以将其设置为您自己选择的任何其他选项。

参考文献:

记录文档 - https://docs.python.org/3/library/logging.html

处理例外 - https://docs.python.org/3/tutorial/errors.html#handling-exceptions