如何在错误强制停止后重新启动程序?

时间:2014-09-09 03:48:21

标签: python linux ubuntu python-3.x restart

在Python中,除了某些条件外,我经常使用try-except块。但是,可能会出现意外错误,我无法解释所有错误。当它停止在Linux等环境中运行时,我将如何重新启动Python程序?

2 个答案:

答案 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