【问题标题】:Watchdog for specific python process特定python进程的看门狗
【发布时间】:2017-10-27 09:21:45
【问题描述】:
我在 Ubuntu 16.04 上工作,我在后台有一个 python 运行进程
python myFunction.py
myFunction 进程有时会因未知原因被杀死,但是我想自动重新启动它。我有多个 python 进程在后台运行,我不知道哪个运行myFunctions.py(例如,通过使用pgrep 命令)。
有可能吗?每当运行它的python进程被杀死时,我可以制作一个bash或python脚本来重新启动命令python myFunction.py吗?
【问题讨论】:
标签:
python
linux
system
watchdog
python-watchdog
【解决方案1】:
您可以查看Supervisord(来自其自己的文档):
允许其用户监视和控制一个客户端/服务器系统
类 UNIX 操作系统上的进程数
Supervisord 将检查您的脚本。如果它崩溃,它将再次重新启动它。如果您的覆盆子重新启动,它将确保脚本在启动后自动启动。
它基于这样格式的配置文件工作(docs 中的更多信息):
[program:myFunction]
command=/path_to_script/myFunction.py
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/myFunction.log
stderr_logfile=/var/log/myFunction.error.log
directory=/path_to_script
希望对你有帮助