構成にpidfileがないときにuwsgiを停止するにはどうすればよいですか?


14

仮想環境にインストールuwsgipip install uwsgiました。私が使用した「ini」ファイルで:

socket = 127.0.0.1:3000
# no pidfile option

そして走る uwsgi --ini config.ini

しかし、このuwsgiのインスタンスを停止する方法は?
uwsgi --stop ...pidファイルが必要です。アドレスを使用できません:

open("127.0.0.1:3000"): No such file or directory [core/io.c line 505]

そして、殺す場合-uwsgiはそれ自体を再生成します。

回答:


16
ps ax | grep uwsgi
15005 pts/4    S      0:00 /ve/path/bin/uwsgi --ini config.ini
15006 pts/4    S      0:00 /ve/path/bin/uwsgi --ini config.ini
15007 pts/4    S      0:00 /ve/path/bin/uwsgi --ini config.ini

killall -s INT /ve/path/bin/uwsgi

6
持っていない場合はkillall、また行うことができますsudo pkill -f uwsgi -9
ザカリーブラックウッド

4

killだけではuwsgiを終了できないことは既知の機能です。第二弾:http//uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html

uWSGI 2.1までは、デフォルトで、SIGTERMシグナルをuWSGIに送信することは、SIGTERMでアプリケーションをシャットダウンするという規則が「スタックを完全にリロードする」ことを意味します。uWSGIをシャットダウンするには、代わりにSIGINTまたはSIGQUITを使用します。uWSGIがSIGTERMに対して非常に無礼であることが絶対にできない場合は、必ずダイオンタームオプションを有効にしてください。幸いなことに、この誤った選択はuWSGI 2.1で修正されました


2

上の1つの答えと同様に、UbuntuまたはDebianでは簡単にできますsudo killall -9 uwsgi。uwsgiが自分自身を止める方法を提供しているかどうかを知りたいのですが。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.