20

I try to figure out when I used reload command to supervisord. Will it stop the processing currently executing under it? I used below steps:

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)

I found that the process id is not changed. So does it prove reload will not stop the processing under supervisor control?

Ravindra S
  • 6,302
  • 12
  • 70
  • 108
mlzboy
  • 14,343
  • 23
  • 76
  • 97
  • 1
    i figure it out by myself,it will kill all subporcess,also i made a mistake the verb reload in nginx vs supervisor,in nginx it means reload configuration,in supervisor it means restart,the equivalent verb is update.but why the pid not changed , i'm still confused,any one could explain it? – mlzboy Sep 25 '10 at 01:57

1 Answers1

50

It doesn't kill the supervisord process, it just stops all processes, reload the configuration file, and restart processes again.

If you just want to apply the new configurations use reread command. It'd just reload the configuration without stopping, and respawning processes.

And running update will restart the processes (groups) that have changed.

racetrack
  • 3,766
  • 30
  • 30
  • it seems the xml-rpc didn't provide reread or update api for remote control http://supervisord.org/api.html?highlight=rpc#supervisor.xmlrpc, is there any way i can remote control ,not through supervisorctl – mlzboy Sep 25 '10 at 03:44
  • sorry for my carefulless,i find it,but i encounter another problem,how can know the current supervisor use which config file,because i have lots of conf file for test,dev etc,i can't distinguish them,unless know the current using conf file location,then i can check it – mlzboy Sep 25 '10 at 04:09