Como parar o uwsgi quando não há pidfile na configuração?


14

Acabei de instalar uwsgipor pip install uwsgium env virtual. No arquivo "ini" eu usei:

socket = 127.0.0.1:3000
# no pidfile option

E corra uwsgi --ini config.ini

Mas como parar esta instância de uwsgi?
uwsgi --stop ...quer um arquivo pid. Não consigo usar um endereço:

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

E se matar - os uwsgi apenas reaparecem.

Respostas:


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
Se você não tem killall, você também pode fazersudo pkill -f uwsgi -9
Zachary Blackwood

4

É um recurso conhecido que você não pode finalizar o uwsgi apenas com kill. O segundo marcador de: http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html

Até o uWSGI 2.1, por padrão, enviar o sinal do SIGTERM para o uWSGI significa "recarregar brutalmente a pilha" enquanto a convenção é encerrar um aplicativo no SIGTERM. Para desligar o uWSGI, use SIGINT ou SIGQUIT. Se você absolutamente não consegue conviver com o uWSGI sendo tão desrespeitoso com o SIGTERM, ative de qualquer maneira a opção die-on-term. Felizmente, essa má escolha foi corrigida no uWSGI 2.1


2

Semelhante à primeira resposta, no Ubuntu ou Debian você pode simplesmente fazer sudo killall -9 uwsgi. Embora eu queira saber se o uwsgi dá uma maneira de parar a si mesmo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.