Python 从计划作业关闭Flask服务器

Python 从计划作业关闭Flask服务器,python,linux,flask,python-multithreading,apscheduler,Python,Linux,Flask,Python Multithreading,Apscheduler,我正在运行flask服务器和apscheduler后台调度程序。我希望程序定期重新启动自己 我使用以下shell脚本重新启动应用程序: #!/bin/bash kill $(ps aux | grep 'python' | awk '{print $2}') sleep 5 cd "$( dirname "${BASH_SOURCE[0]}" )" python server.py 当我在没有此脚本的情况下启动服务器,然后从另一个终端执行此脚本时,它将成功终止另一个进程并启动服务器 但是当调度

我正在运行flask服务器和apscheduler后台调度程序。我希望程序定期重新启动自己

我使用以下shell脚本重新启动应用程序:

#!/bin/bash
kill $(ps aux | grep 'python' | awk '{print $2}')
sleep 5
cd "$( dirname "${BASH_SOURCE[0]}" )"
python server.py
当我在没有此脚本的情况下启动服务器,然后从另一个终端执行此脚本时,它将成功终止另一个进程并启动服务器

但是当调度程序调用此脚本时,flask会给我一个“错误,套接字正在使用”。为什么从另一个终端执行此操作会关闭服务器并释放套接字,但从调度程序内部执行此操作会使套接字保持使用状态

如何使计划程序运行的脚本完全关闭服务器

一个月后,我仍然没有得到这个问题的答案:(

为了澄清这一点,我不希望有一个解决方案,这样我就不需要重新启动服务器。我希望服务器能够重新启动自己


现在,我将使用将服务器设置为在引导时启动,然后重新启动整个计算机的解决方法。

要有一个正确的生产准备安装程序,请使用WSGI部署Flask。这将消除重新启动的需要。Flask中内置的服务器是为Development而不是为生产而安装的。@KlausD。重新启动服务器是最终目标在这里,这不是目的。你能解释一下为什么要定期重新启动服务器吗?@stamaimer我希望服务器从git存储库自我更新。每周:关机,从存储库中提取,然后自我启动。这是一个要求,这个过程的每一部分都可以从存储库中更改。我知道这听起来像一个horr我知道这听起来像是你的噩梦。但这是我想要我的服务器做的。如果你需要任何具体细节,请告诉我。我认为使用GitHub的webhook是个好主意。