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