Почему Ctrl-C закрывает экран при запуске в автономном режиме?

Если я использую Ctrl-C на экране я запустил "нормальный путь", используя screen -S screen_name, он ведет себя так, как и ожидалось, что означает, что он прервет любую команду, запущенную на экране, но не прервет сам экран.

Тем не менее, когда я запускаю экран в отдельном режиме, используя screen -dmS screen_name commandработает нормально, но когда я снова подключаю экран, Ctrl-C Завершит сам экран.

Как я могу предотвратить Ctrl-C от завершения экрана?

1 ответ

Решение

Экран закрывается, когда команда, с которой он работает, заканчивается.

В первом примере вы не указываете команду, поэтому будет запущена оболочка по умолчанию.

Во втором примере вы не указываете оболочку, поэтому ваша команда запускается напрямую. Когда эта команда получает Ctrl-C, он выйдет и экран закроется.

В зависимости от того, чего вы хотите достичь, вы можете использовать zombie, defzombie или же onerror параметры для экрана, чтобы окно оставалось после завершения команды.

В качестве альтернативы этот ответ содержит предложение сохранить открытую оболочку bash после завершения начального сценария.

Другие вопросы по тегам