Python: Как предотвратить получение подпроцессами CTRL-C / Control-C / SIGINT

В настоящее время я работаю над оболочкой для выделенного сервера, работающего в оболочке. Оболочка порождает серверный процесс через подпроцесс, наблюдает за его выводом и реагирует на него.

Выделенному серверу должна быть явно дана команда для корректного завершения работы. Таким образом, CTRL-C не должен достигать серверного процесса.

Если я перехватываю исключение KeyboardInterrupt или перезаписываю обработчик SIGINT в python, серверный процесс по-прежнему получает CTRL-C и немедленно останавливается.

Итак, мой вопрос: : Как предотвратить получение подпроцессами CTRL-C / Control-C / SIGINT?

40
задан robert 19 February 2011 в 11:44
поделиться