重新加载 supervisord 会导致其下的进程停止吗?
Posted
技术标签:
【中文标题】重新加载 supervisord 会导致其下的进程停止吗?【英文标题】:Will reloading supervisord cause the process under its to stop? 【发布时间】:2011-04-17 01:33:41 【问题描述】:我试图弄清楚我何时使用 reload 命令来管理 supervisord。它会停止当前在其下执行的处理吗? 我使用了以下步骤:
mlzboy@mlzboy-mac:~/my/ide/test$ pstree -p|grep super
|-supervisord(6763)
mlzboy@mlzboy-mac:~/my/ide/test$ supervisorctl
daemon STARTING
supervisor> reload
Really restart the remote supervisord process y/N? y
Restarted supervisord
supervisor> exit
mlzboy@mlzboy-mac:~/my/ide/test$ pstree -p|grep super
|-supervisord(6763)
我发现进程id没有改变。那么是否证明 reload 不会停止主管控制下的处理?
【问题讨论】:
我自己想出来的,它会杀死所有子进程,我也犯了一个错误,在nginx vs supervisor中动词reload,在nginx中表示重新加载配置,在supervisor中表示重新启动,等效动词是更新。但是为什么pid没有改变,我仍然很困惑,任何人都可以解释一下吗? 【参考方案1】:它不会杀死supervisord进程,它只是停止所有进程,重新加载配置文件,然后重新启动进程。
如果您只想应用新配置,请使用reread
命令。它只会重新加载配置而不会停止和重新生成进程。
运行update
将重新启动已更改的进程(组)。
【讨论】:
xml-rpc 似乎没有提供远程控制的重读或更新 api supervisord.org/api.html?highlight=rpc#supervisor.xmlrpc,有什么办法可以远程控制,而不是通过 supervisorctl 抱歉我的粗心,我找到了,但我遇到了另一个问题,如何知道当前主管使用哪个配置文件,因为我有很多用于测试、开发等的 conf 文件,我可以' t区分它们,除非知道当前使用的conf文件位置,然后我可以检查它以上是关于重新加载 supervisord 会导致其下的进程停止吗?的主要内容,如果未能解决你的问题,请参考以下文章
[CVE-2017-11610] Supervisord远程命令执行漏洞