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.

Sergey
fonte

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
Sergey
fonte
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

Rankinstein
fonte
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.

waldronluo
fonte