如何在固定时间终止并重新启动Python脚本?

如何在固定时间终止并重新启动Python脚本?

在 VPS 上,我有一个 24/7 运行的 Python 脚本。由于各种原因,我需要该脚本来重新启动每个小孩。小时,基本上只需要每2-3-4小时重新启动一次。我也许能够找到一个解决方案来在代码中做到这一点,但我更愿意看看是否可以在 Linux 上做到这一点。

为了启动它,我使用nohup python3 myscript.py.有什么办法可以做到这一点吗?我需要外部依赖吗?

答案1

您可以运行 usecron来安排脚本每 X 小时运行一次。当新实例启动时,它

  • 定位现有实例(检查/var/run/{scriptname}.pid
  • 如果存在则杀死它
  • 将自己的进程ID写入/var/run/{scriptname}.pid
  • 继续直到被下一个杀死

的变体cron还可以让您在系统引导时启动脚本。

更好的解决方案是创建/安装脚本作为 systemd 服务,并且让它成为定期重新启动

相关内容