Làm thế nào để dừng uwsgi khi không có pidfile trong config?


14

Tôi vừa mới được cài đặt uwsgibởi pip install uwsgitrong một env ảo. Trong tập tin "ini" tôi đã sử dụng:

socket = 127.0.0.1:3000
# no pidfile option

Và chạy uwsgi --ini config.ini

Nhưng làm thế nào để ngăn chặn trường hợp này của uwsgi?
uwsgi --stop ...muốn một tập tin pid. Tôi không thể sử dụng một địa chỉ:

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

Và nếu giết - uwsgi chỉ cần tự hồi sinh.

Câu trả lời:


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
Nếu bạn không có killall, bạn cũng có thể làmsudo pkill -f uwsgi -9
Zachary Blackwood

4

Đây là một tính năng được biết đến mà bạn không thể chấm dứt uwsgi chỉ bằng cách giết. Viên đạn thứ hai của: http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html

Theo mặc định, cho đến khi uWSGI 2.1 gửi tín hiệu SIGTERM tới uWSGI có nghĩa là một cách thô bạo tải lại stack stack trong khi quy ước là tắt ứng dụng trên SIGTERM. Để tắt uWSGI, sử dụng SIGINT hoặc SIGQUIT thay thế. Nếu bạn hoàn toàn không thể sống với uWSGI quá thiếu tôn trọng SIGTERM, bằng mọi cách, hãy bật tùy chọn die-on-term. May mắn thay, sự lựa chọn tồi tệ này đã được sửa trong uWSGI 2.1


2

Tương tự như câu trả lời hàng đầu, trong Ubuntu hoặc Debian bạn chỉ cần làm sudo killall -9 uwsgi. Mặc dù tôi muốn biết nếu uwsgi đưa ra một cách để ngăn chặn chính nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.