구성에 pidfile이 없을 때 uwsgi를 중지하는 방법은 무엇입니까?


14

방금 가상 환경에 설치 uwsgi했습니다 pip install uwsgi. "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에 대해 너무 무례한 상태로 살 수 없다면, 반드시 die-on-term 옵션을 활성화하십시오. 다행히이 잘못된 선택은 uWSGI 2.1에서 수정되었습니다.


2

최고의 답변 하나와 마찬가지로 우분투 또는 데비안에서는 간단하게 할 수 있습니다 sudo killall -9 uwsgi. uwsgi가 스스로 멈추는 방법을 제공하는지 알고 싶습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.