Убийство веб-серверов Python

#python

Вопрос:

Я ищу простой веб-сервер Python, который легко убить из кода. Прямо сейчас я играю с Бутылкой, но я не могу найти никакого способа убить ее в коде. Если вы знаете, как убить бутылку (в коде, без Ctrl C), это было бы супер, но я возьму все, что является Python, простым и убиваемым.

Ответ №1:

Мы используем это.

 import os
os._exit(3)
 

Чтобы разбиться «контролируемым» способом.

Комментарии:

1. @Daniel Straight: Мы назвали это «контролируемым, если вы не возражаете против последствий». Мы используем его в основном для автоматического тестирования, где неполные записи в журнале или разбитые базы данных не имеют значения.

2. К счастью, я не веду ни журнал, ни базу данных (ни дисковый ввод-вывод), так что это должно быть хорошо.

Ответ №2:

Если вы хотите убить процесс из Python на Unix-подобной платформе, вы можете отправлять сигналы, эквивалентные Ctrl-C на консоли, используя модуль Pythons os, например

 # Get this processes PID
pid_of_process = os.getpid()
# Send the interrupt signal to this process
os.kill(pid_of_process, signal.SIGINT)
 

Ответ №3:

Поднимите исключение и обработайте его в главном или используйте sys.exit

Комментарии:

1. Оба они, кажется, проглочены Бутылкой.

Ответ №4:

Попробуйте положить

 import sys
 

наверху и команда

 sys.exit(0)
 

В коде, который обрабатывает «запрос на убийство».