Есть ли способ убить 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).