重启服务器后重启 Python 代码

Posted

技术标签:

【中文标题】重启服务器后重启 Python 代码【英文标题】:Restart Python Code after restarting the server 【发布时间】:2021-11-21 03:50:06 【问题描述】:

我有一个 Python 代码在我们服务器上的 Spyder 上运行,它需要不断运行。但是,有时我们的服务器会中断并重新启动。不幸的是,我的代码也停止运行,第二天打开时我需要手动重启 Spyder 和代码。

有没有办法在服务器重启时自动重启代码?

非常感谢!

【问题讨论】:

如何保持状态? 如果您的服务器运行 Ubuntu,您可以使用 systemd 为其创建服务。这也适用于更多的 linux 操作系统,其他操作系统也有类似的替代方案。 我的代码在 Windows 上运行 也可以通过crontab和进程检测脚本重启代码。在 Windows 上,请参阅 Scheduled_tasks_and_cron_jobs_on_Windows Spyder 是一个 IDE。您不必在其中运行 Python 程序。如果它是一个生产程序,你不应该。您可以使用"C:\Program Files\Python39\python.exe" myprogram.py 直接从命令行运行 Python 程序。 (您的 Python 可执行文件的位置可能不同。如果您不知道它是什么,请在命令行中执行 where python 查找。) 【参考方案1】:

您可以将重启后要运行的内容添加为 crontab 规则。

如果您使用运行在 Linux 平台上的服务器,您可以通过 crontab -e 命令在 crontab 中使用此行。

@reboot <your_python_file_path>

【讨论】:

OP 正在运行 Windows。提出crontab 条目没有帮助。 Windows 最接近的是计划任务,它们的工作方式完全不同。 我以为服务器是在 Linux 平台上运行的。我正在编辑我的答案。【参考方案2】:

只需使用shell:startup 并在其中添加您的 Python 位置 + 路径(或为其创建批处理脚本):

myprogram.bat

python.exe main.py

或者,如果您的PATH 环境变量中没有python 位置,请使用完整路径:

myprogram.bat

"C:\Program Files\Python39\python.exe" main.py

【讨论】:

以上是关于重启服务器后重启 Python 代码的主要内容,如果未能解决你的问题,请参考以下文章

Linux服务器重启后网络故障

k8s-踩坑篇2-服务器重启后重启集群

linux服务器重启后sshd 服务不能启动

PHPWAMP自启异常,服务器重启后Apache等服务不会自动重启的原因分析

ssh 服务器重启后链接不上

部署代码后如何在另一个 Auto Scaling 组上重启 Varnish 服务