Python脚本自动重启方法

假设有一个名为test.py的简单脚本,想永远运行它。现在脚本文件会在6秒钟后停止并抛出错误。

1
2
3
4
import time
print("运行中......")
time.sleep(6)
raise Exception("程序出错.....")

在同一目录中建立用于重启的脚本:

1
2
3
4
5
6
7
from subprocess import Popen
import sys
filename = "test.py"
while True:
print("\n启动 " + filename)
p = Popen("python " + filename, shell=True)
p.wait()

该示例使用了subprocess模块,将python脚本作为新的子进程打开。
每当脚本文件异常失败时,while循环都会将脚本文件作为新的子进程重新启动。