जब विन्यास में कोई pidfile नहीं है तो uwsgi को कैसे रोकें?


14

मैंने अभी-अभी वर्चुअल एनवी में इंस्टॉल uwsgiकिया pip install uwsgiहै। "Ini" फ़ाइल में मैंने इस्तेमाल किया:

socket = 127.0.0.1:3000
# no pidfile option

और भाग खड़ा हुआ uwsgi --ini config.ini

लेकिन uwsgi के इस उदाहरण को कैसे रोकें?
uwsgi --stop ...एक पीआईडी ​​फ़ाइल चाहता है। मैं एक पते का उपयोग नहीं कर सकता:

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

यह एक ज्ञात विशेषता है कि आप सिर्फ मार के साथ uwsgi को समाप्त नहीं कर सकते। की दूसरी बुलेट: http://uwsgi-docs.readthedocs.org/en/latest/ThingsTBKK.html

तिल uWSGI 2.1, डिफ़ॉल्ट रूप से, UWSGI को SIGTERM सिग्नल भेजने का अर्थ है "क्रूरतापूर्वक स्टैक को फिर से लोड करना" जबकि सम्मेलन SIGTERM पर एक एप्लिकेशन को बंद करना है। इसके बजाय uWSGI को बंद करने के लिए SIGINT या SIGQUIT का उपयोग करें। यदि आप बिलकुल भी इस बात से नहीं रह सकते कि uWSGI SIGTERM के प्रति इतना अपमानजनक है, तो हर तरह से डाई-ऑन-टर्म विकल्प को सक्षम करें। सौभाग्य से, यह बुरा विकल्प uWSGI 2.1 में तय किया गया है


2

शीर्ष एक उत्तर के समान, उबंटू या डेबियन में आप बस कर सकते हैं sudo killall -9 uwsgi। हालांकि मैं जानना चाहता हूं कि क्या उव्सगी खुद को रोकने का कोई रास्ता देता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.