Я пытаюсь убить сеанс экрана. Я заметил много других связанных вопросов, но ни один из этих ответов не работает для меня. Я пытаюсь убить следующий сеанс:
screen -ls
There is a screen on:
23520.pts-6.porkypig (09/30/2013 02:49:47 PM) (Detached)
1 Socket in /var/run/screen/S-root.
screen -r 23520.pts-6.porkypig
Теперь я нахожусь в сеансе. Согласно документации:
http://www.gnu.org/software/screen/manual/screen.html#Quit
Я должен нажать «control a» и затем «управление». Я делаю это и ничего не происходит.
Другое решение говорит нажать Ctrl + a и напечатать: quit. Однако опять это ничего не делает. Фактически, нажатие кнопки управления + a, абсолютно ничего не происходит потом, кроме сообщения «Нет другого окна»
Вы можете выйти из этого экрана без привязки к нему. Сначала найдите его сеанс, а затем закройте его:
$ screen -ls
$ screen -X -S [session # you want to kill] quit
Это убьет все выделенные экраны:
screen -ls | grep detached | cut -d. -f1 | awk '{print $1}' | xargs killЭто убьет все экраны, прикрепленные или отсоединенные
screen -ls | grep pts | cut -d. -f1 | awk '{print $1}' | xargs killИтак, со всеми этими официальными предложениями, давайте просто пойти на что-то более легкое и столь же эффективное и более прямолинейное.
pkill screen
Кто хочет пойти на неизвестный и не нужен экран просто для того, чтобы нажать пару команд, которые большинство из них едва ли могут запомнить? Это позволяет избежать его вообще, и убивает его прямо.
Плюс, если у вас более одного, это займет их всех одним махом.
Я столкнулся с этой проблемой при обновлении экрана. Команда screen зависает при попытке повторно подключить сеанс, независимо от того, сколько -D или -R я добавил в команду. Однако screen -ls удобно предоставляет pid сеанса, позволяя вам вмешаться, используя следующее:
10:42 user ~ $ screen -ls
There is a screen on:
5730.my_screen (Detached)
1 Socket in /tmp/screens/S-user.
10:42 user ~ $ sudo kill 5730
10:43 user ~ $ screen -ls
No Sockets found in /tmp/screens/S-user.
(Это похоже на ответ Брайана Томаса, но его убьют все сеансы экранного экрана, которые может быть не то, что вы хотите, если у вас открыто несколько экранов, но только одно неправильное поведение.)
Как и вы, я хотел убить сеанс экрана и нашел документацию бесполезной. Убедившись, что должен быть ярлык с клавиатурой, я обнаружил, что ctrl + a, тогда \ работает
Затем я получаю приглашение: «На самом деле уйти и убить все ваши окна [y \ n]» [!d4 ]
Я не уверен, почему в документации написано ctrl + a, затем ctrl + \. Это ничего не делает для меня.