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

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

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

1 ответ1

1

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .