วิธีหยุด uwsgi เมื่อไม่มี pidfile ในการกำหนดค่า?


14

ฉันเพิ่งติดตั้งuwsgiโดยpip install uwsgiใน env เสมือน ในไฟล์ "ini" ฉันใช้:

socket = 127.0.0.1:3000
# no pidfile option

และเรียกใช้ uwsgi --ini config.ini

แต่วิธีการหยุดตัวอย่างของ uwsgi นี้
uwsgi --stop ...ต้องการไฟล์ pid ฉันไม่สามารถใช้ที่อยู่:

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
Zachary Blackwood

4

มันเป็นคุณสมบัติที่เป็นที่รู้จักซึ่งคุณไม่สามารถยุติ uwsgi ด้วยเพียงแค่ฆ่า สัญลักษณ์แสดงหัวข้อย่อยที่สองของ: http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html

จนถึง uWSGI 2.1 โดยค่าเริ่มต้นการส่งสัญญาณ SIGTERM ไปยัง uWSGI หมายถึง“ โหลดกองซ้อนอย่างไร้ความปราณี” ในขณะที่การประชุมคือการปิดแอปพลิเคชันลงบน SIGTERM ในการปิดระบบ uWSGI ให้ใช้ SIGINT หรือ SIGQUIT แทน หากคุณไม่สามารถอยู่กับ uWSGI ได้อย่างเด็ดขาดต่อ SIGTERM โดยทั้งหมดเปิดใช้งานตัวเลือกแบบตายตัว โชคดีที่ตัวเลือกที่ไม่ดีนี้ได้รับการแก้ไขใน uWSGI 2.1


2

คล้ายกับด้านบนหนึ่งคำตอบใน Ubuntu หรือ Debian sudo killall -9 uwsgiคุณก็สามารถทำได้ แม้ว่าฉันอยากรู้ว่า uwsgi ให้วิธีหยุดตัวเองหรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.