Есть ли способ убить uvicorn чисто? - PullRequest
2 голосов
/ 27 февраля 2020

Есть ли способ убить uvicorn аккуратно?

Т.е. я могу набрать ^ C, если он работает на переднем плане в терминале. Это приводит к тому, что процесс uvivorn становится d ie, и все рабочие процессы очищаются. (То есть они go далеко.)

С другой стороны, если uvicorn работает в фоновом режиме без терминала, то я не могу найти способ убить его чисто. Кажется, он игнорирует SIGTERM, SIGINT и SIGHUP. Я могу убить его с помощью SIGKILL (т.е. -9), но тогда рабочие процессы остаются живыми, и мне нужно отследить все рабочие процессы и уничтожить их тоже. Это не идеально.

Я использую uvicorn с CPython 3.7.4, uvivorn версии 0.11.2 и FastAPI 0.46.0 на Red Hat Enterprise Linux Server 7.3 (Maipo).

...