2010-09-25 62 views
17

我試圖找出當我使用reload命令supervisord。它會停止當前正在執行的處理嗎? 我用下面的步驟:重裝supervisord會導致其下的進程停止嗎?

[email protected]:~/my/ide/test$ pstree -p|grep super 
     |-supervisord(6763) 
[email protected]:~/my/ide/test$ supervisorctl 
daemon       STARTING 
supervisor> reload 
Really restart the remote supervisord process y/N? y 
Restarted supervisord 
supervisor> exit 
[email protected]:~/my/ide/test$ pstree -p|grep super 
     |-supervisord(6763) 

我發現進程ID沒有改變。那麼它是否證明重新加載不會停止監督員控制下的處理?

+1

我弄明白由我自己,它會殺死所有subporcess,也是我犯了一個錯誤的動詞nginx的VS監督員重裝,在nginx的就意味着重裝配置,在管理這意味着重啓,相當於動詞是update.but爲什麼該pid沒有改變,我仍然困惑,任何人都可以解釋它? – mlzboy 2010-09-25 01:57:56

回答

44

它不會殺死supervisord過程中,它只是停止所有進程,重新加載配置文件,並重新啓動進程。

如果你只是要應用新的配置使用reread命令。它只是重新加載配置而不停止,重新生成進程。

運行update將重新啓動已經改變了工藝(組)。

+0

似乎xml-rpc沒有提供遠程控制http://supervisord.org/api.html?highlight=rpc#supervisor.xmlrpc的重讀或更新API,有沒有什麼辦法可以遠程控制,而不是通過supervisorctl – mlzboy 2010-09-25 03:44:39

+0

對不起,我小心,我找到它,但我遇到另一個問題,如何才能知道當前的主管使用哪個配置文件,因爲我有很多conf文件用於測試,dev等,我無法區分它們,除非知道目前使用conf文件位置,然後我可以檢查它 – mlzboy 2010-09-25 04:09:52

相關問題