实现同一目标有多种方法.首先修改程序,使其在标志变为True
时退出.还有各种各样的 Select ,每种都有其优缺点.
Wrap it using a bash script.
脚本应该处理退出并重新启动程序.真正基本的版本可能是:
#!/bin/bash
while :
do
python program.py
sleep 1
done
Start the program as a sub-process of another program.
首先,将程序代码包装到函数中.那么你的__main__
可能是这样的:
def program():
### Here is the code of your program
...
while True:
from multiprocessing import Process
process = Process(target=program)
process.start()
process.join()
print("Restarting...")
这段代码相对来说比较基础,需要实现错误处理.
Use a process manager
有许多可用的工具可以监视流程、并行运行多个流程以及自动重新启动已停止的流程.值得一看PM2个或类似的数字.
第三个选项(process manager)看起来是最安全的方法.其他方法将有边缘情况,需要您的实施来处理边缘情况.