Как вы останавливаете python SimpleHTTPServer в терминале?

Я запустил SimpleHTTPServer с помощью команды python -m SimpleHTTPServer 9001.

Я хотел бы остановить его без принудительного выхода из терминала. Какие нажатия клавиш необходимы, чтобы остановить его?


person Kelvin Lau    schedule 25.11.2015    source источник


Ответы (3)


CTRL + C обычно является правильным способом завершить процесс и оставить терминал открытым.

person Hiro2k    schedule 25.11.2015
comment
Есть ли способ быстро перезапустить сервер? - person anonymoose; 30.04.2018

Используйте CTRL+C.

Это текст-заполнитель, потому что ответ должен состоять из 30 символов.

person Mikko Ohtamaa    schedule 25.11.2015

Согласен с ответом Ctrl-C. Обратите внимание, что нажатие Ctrl-C отправляет сигнал «прерывание» (сигнал номер 2).

В качестве альтернативы вы можете использовать сигнал TERM для завершения вашего серверного процесса.

Вы можете отправить сигнал «INT» или «TERM», чтобы запросить завершение. Как правило, все хорошие программы учитывают сигналы int и term и выполняют очистку.

Чтобы правильно завершить процесс, запустите

kill -2 <pid>
kill -15 <pid>

or

kill -INT <pid>
kill -TERM <pid>

Есть разница в SIGINT и SIGTERM. Из эта статья quora,

SIGINT — это сигнал прерывания. Терминал отправляет его процессу переднего плана, когда пользователь нажимает ctrl-c. По умолчанию процесс завершается, но его можно перехватить или проигнорировать. Намерение состоит в том, чтобы предоставить механизм для упорядоченного, изящного завершения работы.

SIGTERM — это сигнал завершения. Поведение по умолчанию — завершить процесс, но его также можно перехватить или проигнорировать. Намерение состоит в том, чтобы убить процесс, изящно или нет, но сначала дать ему возможность очиститься.

Поэтому используйте правильный сигнал в зависимости от ваших потребностей.

person Prasanna    schedule 25.11.2015