Je me suis fatigué pour commencer superviseur mais obtenir une erreur. Quelqu'un peut-il aider? Merci
/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
Puis lancez ces
Sudo chmod +x /etc/init.d/supervisord
Sudo update-rc.d supervisord defaults
Sudo /etc/init.d/supervisord start
Et obtenir ceci:
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
Fichier de configuration (situé à /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
Sudo unlink /tmp/supervisor.sock
Ce fichier .sock est défini dans la valeur de configuration du fichier [ unix_http_server ] de /etc/supervisord.conf
(la valeur par défaut est /tmp/supervisor.sock).
tout d'abord, tapez ceci sur votre console ou votre terminal
ps -ef | grep supervisord
Vous obtiendrez un pid de supervisord comme ceux-ci
root 2641 12938 0 04:52 pts/1 00:00:00 grep --color = auto supervisord
root 29646 1 0 04:45? 00:00:00/usr/bin/python/usr/local/bin/supervisord
si vous obtenez une sortie comme ça, votre pid est le deuxième. alors si vous voulez éteindre votre supervisord vous pouvez le faire
kill -s SIGTERM 29646
j'espère que cela vous sera utile. ref: http://supervisord.org/running.html#signals
Essayez d'exécuter ces commandes
Sudo unlink /run/supervisor.sock
et
Sudo /etc/init.d/supervisor start
$ 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
afin que nous puissions utiliser:
$ pkill -f supervisord # kill it
A partir de la version 3.0a11
, vous pouvez faire ce one-liner:
Sudo kill -s SIGTERM $(Sudo supervisorctl pid)
what Hops au dos de la fonction supervisorctl pid
.
Il y a beaucoup de réponses déjà disponibles. Je présenterai une manière plus propre pour arrêter supervisord.
Par défaut, supervisord crée un fichier nommé supervisord.pid dans le répertoire contenant le fichier supervisord.conf. Ce fichier est le pid du démon supervisord. Lisez le pid du fichier et tuez le processus supervisord.
Toutefois, vous pouvez configurer l'emplacement où le fichier supervisord.pid doit être créé. Reportez-vous à ce lien pour le configurer, http://supervisord.org/configuration.html
C'est ce qui fonctionne pour moi. Exécutez les opérations suivantes dans le terminal (pour les machines Linux)
Pour vérifier si le processus est en cours d'exécution:
Sudo systemctl status supervisor
Pour arrêter le processus:
Sudo systemctl stop supervisor