在Python中,除了某些条件外,我经常使用try-except块。但是,可能会出现意外错误,我无法解释所有错误。当它停止在Linux等环境中运行时,我将如何重新启动Python程序?
答案 0 :(得分:1)
你可以抓住BaseException
课程。它是所有错误的基本类,因此您将全部处理它们。
如果你想让程序保持运行,当smth真的很讨厌时,比如内存泄漏或分段错误,你应该写一个看门狗。 Watchdog是一个程序,它使用指定的pid运行检查进程,如果没有,则重新启动它。
答案 1 :(得分:0)
如何在shell中的无限while循环中包装python代码:
$ while :
do
python -c '1 + []'
done
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'list'
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'list'
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'list'
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'list'
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'list'
你可以轻松地为python脚本做同样的事情:
$ while :
do
python mycode.py
done