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

849
Cyrlop

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

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

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

0

1 ответ на вопрос

1
nickcrabtree

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

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

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

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

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

Спасибо, теперь все ясно. По сути, я хотел, чтобы bash запускался после того, как моя команда была прервана, поэтому я в итоге выполнил: Cyrlop 7 лет назад 0