重启服务器后重启 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 代码的主要内容,如果未能解决你的问题,请参考以下文章