В настоящее время я работаю над оболочкой для выделенного сервера, работающего в оболочке. Оболочка порождает серверный процесс через подпроцесс, наблюдает за его выводом и реагирует на него.
Выделенному серверу должна быть явно дана команда для корректного завершения работы. Таким образом, CTRL-C не должен достигать серверного процесса.
Если я перехватываю исключение KeyboardInterrupt или перезаписываю обработчик SIGINT в python, серверный процесс по-прежнему получает CTRL-C и немедленно останавливается.
Итак, мой вопрос: : Как предотвратить получение подпроцессами CTRL-C / Control-C / SIGINT?