我正在使用supervisord来管理docker容器中的多个进程。但是,一个进程始终是“主进程”,而其他进程则是监视和报告进程。我想要做的是,如果主进程在启动后无法启动,则终止supervisord。
我尝试做的是使用eventlistener来终止进程:
[eventlistener:master]
events=PROCESS_STATE_FAIL
command=supervisorctl stop all但我不认为事件子系统是如此复杂。我认为我需要实际编写一个事件侦听器来处理事件。对吗?如果其中一个进程启动,有没有更简单的方法来杀死整个supervisord?
谢谢
发布于 2017-01-28 00:02:49
再试一次:
[eventlistener:quit_on_failure]
events=PROCESS_STATE_FATAL
command=sh -c 'echo "READY"; while read -r line; do echo "$line"; supervisorctl shutdown; done'尤其是对于docker容器来说,对于错误有一个简单直接的关机,从字面上来说是一个杀手。当进程死亡时,容器应该停止运行。
发布于 2015-07-07 22:29:54
回答者:supervisord event listener
命令参数必须是事件处理程序,不能是随机命令。
https://stackoverflow.com/questions/31271310
复制相似问题