centos 7.1 - systemctl로 실행하면 Supervisord가 종료됩니다.

centos 7.1 - systemctl로 실행하면 Supervisord가 종료됩니다.

그래서 하루종일 머리를 부딪히게 만드는 이상한 문제에 부딪혔습니다. 나는 centos 7.1그것을 설치했다 supervisord 3.2.0. supervisor으로 실행하면 systemctl실행된 다음 몇 초 후에 자동으로 종료됩니다.

sudo systemctl start supervisord
sudo systemctl enable supervisord

하지만 다음과 같이 수동으로 실행하면:

sudo /usr/bin/supervisord

잘 작동할 거예요. 파일은 다음과 같습니다.

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

그리고

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

일기 기록:

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

시스템 제어 상태:

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

답변1

지적한대로마이크 나베레즈니,여기, 필요한 것은 다음 섹션 Type=forking에 추가하는 것뿐입니다 .Servicesupervisord.service

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

관련 정보