centos 7.1 - o supervisord termina se executado com o systemctl

0

Então eu tenho um problema estranho e tenho batido minha cabeça o dia todo. Eu tenho um centos 7.1 com supervisord 3.2.0 instalado. Se eu executar o supervisor com systemctl , ele será executado e, em seguida, será encerrado após alguns segundos.

sudo systemctl start supervisord
sudo systemctl enable supervisord

Mas se eu executar manualmente, como:

sudo /usr/bin/supervisord

funcionará bem. Aqui estão os arquivos:

# /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

registros de diário:

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

status do systemctl:

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
    
por norbertpy 07.12.2015 / 22:13

1 resposta

1

Como apontado por Mike Naberezny , aqui , tudo o que precisava era adicionar Type=forking à seção Service do supervisord.service :

[Service]
Type=forking
ExecStart=/usr/bin/supervisord
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
    
por 08.12.2015 / 17:29