Это не возможно сделать в общем случае.
Терминальное окно (вообще говоря) представляет собой отдельный процесс из самого Python (YMMV с IPython и другие подобные вещи, но это верно, если вы используете обычный Python внутри обычного терминала). Когда оконечное окно решает уйти, невозможно (в большинстве разумных операционных систем и оконных менеджеров) предотвратить это, потому что это совершенно другая программа, которая просто выводит ваш вход и выход.
Вы можете, однако, ваша программа работает после закрытия терминала. Терминал все равно уйдет, но программа будет работать в фоновом режиме. В системах Unix это обычно делается путем улавливания или игнорирования сигнала SIGHUP
с использованием signal
.
В зависимости от вашей операционной системы и выбора эмулятора терминала может быть или не быть возможно настроить терминал на то, чтобы он не закрывался. Некоторые эмуляторы терминала под Linux, по умолчанию, предупреждают пользователя о том, что есть процесс, запущенный под терминалом, когда пользователь пытается его закрыть. Это сильно зависит от платформы и не может быть сконфигурировано (возможно, переносимо или возможно вообще) изнутри Python.
какую ОС вы планируете использовать? –
@Ashafix Windows в то время, не-платформенное независимое решение было бы в порядке – linusg