首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >supervisord:如何在PROCESS_STATE_FATAL上停止supervisord

supervisord:如何在PROCESS_STATE_FATAL上停止supervisord
EN

Stack Overflow用户
提问于 2015-07-07 22:23:28
回答 2查看 1.7K关注 0票数 3

我正在使用supervisord来管理docker容器中的多个进程。但是,一个进程始终是“主进程”,而其他进程则是监视和报告进程。我想要做的是,如果主进程在启动后无法启动,则终止supervisord。

我尝试做的是使用eventlistener来终止进程:

代码语言:javascript
复制
[eventlistener:master]
events=PROCESS_STATE_FAIL
command=supervisorctl stop all

但我不认为事件子系统是如此复杂。我认为我需要实际编写一个事件侦听器来处理事件。对吗?如果其中一个进程启动,有没有更简单的方法来杀死整个supervisord?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2017-01-28 00:02:49

再试一次:

代码语言:javascript
复制
[eventlistener:quit_on_failure]
events=PROCESS_STATE_FATAL
command=sh -c 'echo "READY"; while read -r line; do echo "$line"; supervisorctl shutdown; done'

尤其是对于docker容器来说,对于错误有一个简单直接的关机,从字面上来说是一个杀手。当进程死亡时,容器应该停止运行。

票数 1
EN

Stack Overflow用户

发布于 2015-07-07 22:29:54

回答者:supervisord event listener

命令参数必须是事件处理程序,不能是随机命令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31271310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档