保留 python 脚本 运行 (如果存在则重新启动)

Keep python script running (restart if exits)

我是 运行 来自系统引导的 python 脚本(尝试了 init.d 和 systemd)。如果出现问题 - 它退出,在日志中写入问题,但我需要手动重新启动它。有没有办法使用本机工具进行此检查(例如,不检查“ps -A”并重新启动)?

也许您可以使用 try 和 except 块来输出错误并在不退出的情况下重新启动软件?

try:
    print("a")
except Exception as e:
    print(e)

这将在第一个问题处停止并调用 except 块。您可以在 except 块中输入重新启动代码,然后 运行 try 块再次输入。

由于您已经在使用像 systemd 这样的服务管理器来 运行 您的脚本在启动时,我会将该服务管理器配置为在脚本崩溃时自动重新启动脚本。 (这是服务经理的重要组成部分!)

根据 systemd.service 手册页,您可以在服务文件中添加如下内容:

Restart=on-failure