1

So I have a weird problem and I've been banging my head for the entire day. I have a centos 7.1 with supervisord 3.2.0 installed. If I run the supervisor with systemctl, it runs and then it shuts down itself after few seconds.

sudo systemctl start supervisord
sudo systemctl enable supervisord

But if I run it manually, like:

sudo /usr/bin/supervisord

it'll work just fine. Here are the files:

# /usr/lib/systemd/system/supervisord.service
[Unit]
Description=Supervisor daemon

[Service]
ExecStart=/usr/bin/supervisord
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

AND

# /etc/supervisord.conf
[unix_http_server]
file=/tmp/supervisor.sock   ; (the path to the socket file)

[supervisord]
logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB        ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10           ; (num of main logfile rotation backups;default 10)
loglevel=info                ; (log level;default info; others: debug,warn,trace)
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false               ; (start in foreground if true;default false)
minfds=1024                  ; (min. avail startup file descriptors;default 1024)
minprocs=200                 ; (min. avail process descriptors;default 200)

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket

journal logs:

Dec 07 22:32:07 supervisord[2421]: /usr/lib/python2.7/site-packages/supervisor/options.py:296: UserWarning: Supervisord is running as root and it is searchi
Dec 07 22:32:07 supervisord[2421]: 'Supervisord is running as root and it is searching '
Dec 07 22:32:07 supervisorctl[2425]: Shut down
Dec 07 22:58:29 supervisorctl[4181]: Shut down
Dec 07 22:59:35 supervisorctl[4316]: Shut down
Dec 07 22:59:43 supervisorctl[4337]: Shut down

systemctl status:

supervisord.service - Supervisor daemon
Loaded: loaded (/usr/lib/systemd/system/supervisord.service; enabled)
Active: inactive (dead) since Mon 2015-12-07 22:59:43 UTC; 7min ago
Process: 4337 ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown (code=exited, status=0/SUCCESS)
Process: 4333 ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf (code=exited, status=0/SUCCESS)
Main PID: 4333 (code=exited, status=0/SUCCESS)
Dec 07 22:32:07 supervisord[2421]: /usr/lib/python2.7/site-packages/supervisor/options.py:296: UserWarning:
Dec 07 22:32:07 supervisord[2421]: 'Supervisord is running as root and it is searching '
Dec 07 22:32:07 supervisorctl[2425]: Shut down
3
  • 1
    Add output of sudo systemctl status supervisord after it shuts down to your question.
    – Cyrus
    Dec 7, 2015 at 21:32
  • 1
    Also add output of journalctl _SYSTEMD_UNIT=supervisord.service
    – VenkatC
    Dec 7, 2015 at 21:35
  • @Cyrus, @VenkatC. I added those but nothing really special. Also, sudo supervisorctl gives unix:///tmp/supervisor.sock no such file. But again the manual execution creates the supervisor.sock just fine.
    – Sam R.
    Dec 7, 2015 at 23:06

1 Answer 1

2

As pointed out by Mike Naberezny, here, all it needed was to add Type=forking to the Service section of the supervisord.service:

[Service]
Type=forking
ExecStart=/usr/bin/supervisord
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .