supervisord - new - supervisor stop command
Detener supervisord: cerrar (6)
A partir de la versión 3.0a11
, podría hacer esto de una sola línea:
sudo kill -s SIGTERM $(sudo supervisorctl pid)
que salta en la parte posterior de la función supervisorctl pid
.
Me cansé de comenzar el supervisor pero me equivoqué. ¿Alguien puede ayudar? Gracias
/etc/init.d/supervisord file.
SUPERVISORD=/usr/local/bin/supervisord
SUPERVISORCTL=/usr/local/bin/supervisorctl
case $1 in
start)
echo -n "Starting supervisord: "
$SUPERVISORD
echo
;;
stop)
echo -n "Stopping supervisord: "
$SUPERVISORCTL shutdown
echo
;;
restart)
echo -n "Stopping supervisord: "
$SUPERVISORCTL shutdown
echo
echo -n "Starting supervisord: "
$SUPERVISORD
echo
;;
esac
Luego ejecuta estos
sudo chmod +x /etc/init.d/supervisord
sudo update-rc.d supervisord defaults
sudo /etc/init.d/supervisord start
Y obteniendo esto:
Stopping supervisord: Shut down
Starting supervisord: /usr/local/lib/python2.7/dist-packages/supervisor/options.py:286: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
''Supervisord is running as root and it is searching ''
Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.
For help, use /usr/local/bin/supervisord -h
Archivo de Conf (ubicado en /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
[program:myproject]
command=/home/richard/envs/myproject_stage/bin/python /home/richard/webapps/myproject/manage.py run_gunicorn -b 127.0.0.1:8002 --log-file=/tmp/myproject_stage_gunicorn.log
directory=/home/richard/webapps/myproject/
user=www-data
autostart=true
autorestart=true
stdout_logfile=/tmp/myproject_stage_supervisord.log
redirect_stderr=true
Hay muchas respuestas ya disponibles. Presentaré una forma más limpia de cerrar la supervisión.
supervisord de forma predeterminada, crea un archivo denominado supervisord.pid en el directorio donde existe el archivo supervisord.conf. Ese archivo consiste en el pid del daemon supervisor. Lea el pid del archivo y elimine el proceso de supervisión.
Sin embargo, puede configurar dónde se debe crear el archivo supervisord.pid. Consulte este enlace para configurarlo, http://supervisord.org/configuration.html
Intenta ejecutar estos comandos
sudo unlink /run/supervisor.sock
y
sudo /etc/init.d/supervisor start
en primer lugar, escribe esto en tu consola o terminal
ps -ef | grep supervisord
Obtendrás algunos pid de supervisión al igual que estos
root 2641 12938 0 04:52 pts / 1 00:00:00 grep --color = auto supervisión
root 29646 1 0 04:45? 00:00:00 / usr / bin / python / usr / local / bin / supervisord
si obtienes resultados como ese, tu pid es el segundo. entonces, si quieres cerrar tu supervisión, puedes hacer esto
kill -s SIGTERM 29646
Espero que sea útil. ref: http://supervisord.org/running.html#signals
$ ps aux | grep supervisor
alexamil 54253 0.0 0.0 2506960 6440 ?? Ss 10:09PM 0:00.26 /usr/bin/python /usr/local/bin/supervisord -c supervisord.conf
para que podamos usar:
$ pkill -f supervisord # kill it
sudo unlink /tmp/supervisor.sock
Este archivo .sock se define en el valor de configuración de archivo /etc/supervisord.conf [ unix_http_server ] (el valor predeterminado es /tmp/supervisor.sock).