Почему Ctrl-C закрывает экран при запуске в автономном режиме?
Если я использую Ctrl-C
на экране я запустил "нормальный путь", используя screen -S screen_name
, он ведет себя так, как и ожидалось, что означает, что он прервет любую команду, запущенную на экране, но не прервет сам экран.
Тем не менее, когда я запускаю экран в отдельном режиме, используя screen -dmS screen_name command
работает нормально, но когда я снова подключаю экран, Ctrl-C
Завершит сам экран.
Как я могу предотвратить Ctrl-C
от завершения экрана?
1 ответ
Экран закрывается, когда команда, с которой он работает, заканчивается.
В первом примере вы не указываете команду, поэтому будет запущена оболочка по умолчанию.
Во втором примере вы не указываете оболочку, поэтому ваша команда запускается напрямую. Когда эта команда получает Ctrl-C
, он выйдет и экран закроется.
В зависимости от того, чего вы хотите достичь, вы можете использовать zombie
, defzombie
или же onerror
параметры для экрана, чтобы окно оставалось после завершения команды.
В качестве альтернативы этот ответ содержит предложение сохранить открытую оболочку bash после завершения начального сценария.