Come fermare uwsgi quando nessun file pid in config?


14

Ho appena installato uwsgida pip install uwsgiun env virtuale. Nel file "ini" ho usato:

socket = 127.0.0.1:3000
# no pidfile option

E corri uwsgi --ini config.ini

Ma come fermare questa istanza di uwsgi?
uwsgi --stop ...vuole un file pid. Non riesco a usare un indirizzo:

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

E se uccidi, uwsgi si rigenera.

Risposte:


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 non lo hai killall, puoi anche farlosudo pkill -f uwsgi -9
Zachary Blackwood,

4

È una caratteristica nota che non puoi terminare uwsgi con semplicemente kill. Il secondo proiettile di: http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html

Fino a uWSGI 2.1, per impostazione predefinita, inviare il segnale SIGTERM a uWSGI significa "ricaricare brutalmente lo stack" mentre la convenzione prevede di chiudere un'applicazione su SIGTERM. Per spegnere uWSGI utilizzare invece SIGINT o SIGQUIT. Se non riesci assolutamente a convivere con uWSGI che è così irrispettoso verso SIGTERM, abilita in ogni caso l'opzione die-on-term. Fortunatamente, questa scelta sbagliata è stata corretta in uWSGI 2.1


2

Simile alla prima risposta, in Ubuntu o Debian puoi semplicemente farlo sudo killall -9 uwsgi. Anche se voglio sapere se uwsgi offre un modo per fermarsi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.