スーパーバイザーを起動するのに疲れましたが、エラーが発生しました。誰でも助けることができますか?ありがとう
/etc/init.d/supervisordファイル。
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
次に、これらを実行します
Sudo chmod +x /etc/init.d/supervisord
Sudo update-rc.d supervisord defaults
Sudo /etc/init.d/supervisord start
これを取得する:
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
設定ファイル(/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
まず、コンソールまたは端末でこれを入力します
ps -ef | grep supervisord
これらのようにスーパーバイザーのPIDを取得します
ルート2641 12938 0 04:52 pts/1 00:00:00 grep --color = auto Supervisord
ルート29646 1 0 04:45? 00:00:00/usr/bin/python/usr/local/bin/supervisord
そのような出力が得られた場合、2番目のPIDです。スーパーバイザーをシャットダウンしたい場合は、これを行うことができます
kill -s SIGTERM 29646
役に立てば幸いです。 ref: http://supervisord.org/running.html#signals
Sudo unlink /tmp/supervisor.sock
この。sockファイルは/etc/supervisord.conf
の[nix_http_server]のファイル構成値(デフォルトは/tmp/supervisor.sock)。
これらのコマンドを実行してみてください
Sudo unlink /run/supervisor.sock
そして
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
以下を使用できます。
$ pkill -f supervisord # kill it
バージョン_3.0a11
_の時点で、次のワンライナーを実行できます。
Sudo kill -s SIGTERM $(Sudo supervisorctl pid)
は、_supervisorctl pid
_関数の後ろにホップします。
これは私のために働くものです。ターミナルで次を実行します(Linuxマシンの場合)
プロセスが実行されているかどうかを確認するには:
Sudo systemctl status supervisor
プロセスを停止するには:
Sudo systemctl stop supervisor
すでに多くの回答があります。スーパーバイザーをシャットダウンするためのよりクリーンな方法を提示します。
デフォルトでは、supervisordは、supervisord.confファイルが存在するディレクトリにsupervisord.pidという名前のファイルを作成します。そのファイルは、supervisordデーモンのpidで構成されています。ファイルからpidを読み取り、supervisordプロセスを強制終了します。
ただし、supervisord.pidファイルを作成する場所を構成できます。設定するには、このリンクを参照してください http://supervisord.org/configuration.html