Public bug reported: Supervisord does not restart when invoked via `# /etc/init.d/supervisor restart` or `# service supervisor restart`
Its PID stays the same. Manually stopping, then starting the package works, but management tools break if they depend on `restart` working. This is a documented bug from Debian, where the package originates and there is a patch available, although maintainer seems to be MIA: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=609457 I copy from the Debian bug report: > The start-stop-daemon does not find running instances and so some conditionals in the script don't work. > Another side-effect is that the pidfile gets removed when invoking the script with "start" and supervisord is already running. I have applied the patch from the Debian bug report, and it works. Here's my own patch after applying and testing: diff --git a/supervisor b/supervisor index 334d4c6..05f28e1 100755 --- a/supervisor +++ b/supervisor @@ -91,7 +91,7 @@ case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile $PIDFILE \ - --exec $DAEMON -- $DAEMON_OPTS + --startas $DAEMON -- $DAEMON_OPTS test -f $PIDFILE || sleep 1 if running ; then echo "$NAME." @@ -132,18 +132,17 @@ case "$1" in # just the same as "restart" except that it does nothing if the # daemon isn't already running. # check wether $DAEMON is running. If so, restart - start-stop-daemon --stop --test --quiet --pidfile \ - /var/run/$NAME.pid --exec $DAEMON \ + start-stop-daemon --stop --test --quiet --pidfile $PIDFILE\ + --startas $DAEMON \ && $0 restart \ || exit 0 ;; restart) echo -n "Restarting $DESC: " - start-stop-daemon --stop --quiet --pidfile \ - /var/run/$NAME.pid --exec $DAEMON + start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE [ -n "$DODTIME" ] && sleep $DODTIME - start-stop-daemon --start --quiet --pidfile \ - /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS + start-stop-daemon --start --quiet --pidfile $PIDFILE\ + --startas $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; status) More data: $ lsb_release -rd Description: Ubuntu 12.04.2 LTS Release: 12.04 $ apt-cache policy supervisor supervisor: Installed: 3.0a8-1.1 Candidate: 3.0a8-1.1 $ apt-rdepends supervisor (...) supervisor Depends: python (>= 2.3) Depends: python-medusa (>= 0.5.4) Depends: python-meld3 Depends: python-pkg-resources (>= 0.6c7) Depends: python-support (>= 0.90.0) (...) ** Affects: supervisor (Ubuntu) Importance: Undecided Status: New ** Tags: 12.04 lts precise -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1163753 Title: Restart option in supervisor init script does not work To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/supervisor/+bug/1163753/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
