Yapılandırmada pidfile olmadığında uwsgi nasıl durdurulur?


14

Sadece yükledim uwsgitarafından pip install uwsgisanal bir env'deki. "Ini" dosyasında kullandım:

socket = 127.0.0.1:3000
# no pidfile option

Ve koş uwsgi --ini config.ini

Ama bu uwsgi örneğini nasıl durdurabilirim?
uwsgi --stop ...pid dosyası istiyor. Bir adresi kullanamıyorum:

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

Ve eğer öldürürse - uwsgi kendini yeniden doğurur.

Yanıtlar:


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
Eğer yoksa killall, şunları da yapabilirsinizsudo pkill -f uwsgi -9
Zachary Blackwood

4

Uwsgi'yi sadece öldürerek sonlandıramayacağınız bilinen bir özelliktir. İkinci madde işareti: http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html

UWSGI 2.1, varsayılan olarak, SIGTERM sinyalini uWSGI'ya göndermek, kural SIGTERM'deki bir uygulamayı kapatmak iken “yığını yığına acımasızca yeniden yüklemek” anlamına gelir. UWSGI'yi kapatmak için bunun yerine SIGINT veya SIGQUIT kullanın. Eğer uWSGI'nın SIGTERM'e karşı bu kadar saygısız olmasıyla kesinlikle yaşayamazsanız, elbette vadeli kalıp seçeneğini etkinleştirin. Neyse ki, bu kötü seçim uWSGI 2.1'de düzeltildi.


2

İlk cevaba benzer şekilde, Ubuntu veya Debian'da da yapabilirsiniz sudo killall -9 uwsgi. Gerçi uwsgi'nin kendini durdurmanın bir yolunu verip vermediğini bilmek istiyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.