Image

База знаний → Использование виртуальной консоли screen в Linux

[Виртуальные сервера]
Дата публикации: 15.03.2024

Проводя аналогию с серверами, на физическом сервере могут быть размещены несколько виртуальных. Точно также и с консолью, внутри одной ssh сессии можно запустить несколько виртуальных консолей. В каждой из них можно запустить свои команды и переключаться между каждой, наблюдая текущее состояние.

Для чего это нужно и какие плюсы:

  • При закрытии обычной консоли и одновременном выполнении команды - она будет завершена, что плохо, особенно когда выполнение команды занимает длительное время. При закрытии терминала с запущенно виртуальной консолью, запущенная команда продолжит работу и вы всегда можете переподключиться.
  • Возможность запуска нескольких виртуальных консолей и переключение между ними, используя уникальный ID.
  • При выполнении обновлений и потери связи с сервером, команда завершится некорректно, что может вызвать нарушение в работе служб. В виртуальной консоли при потере связи - все продолжит выполняться и Вы можете в любой момент переподключиться.

В качестве виртуальной консоли мы будем использовать приложение screen и операционную систему Linux Debian 12.

1. Установка

apt update 
apt install screen

2. Использование

2.1 Запустите screen, чтобы попасть в виртуальную консоль

screen

Теперь вы находитесь в виртуальном терминале, вы можете в нем выполнять все те же команды, что и в обычном.

2.2 Отсоединение

Что выйти из виртуальной консоли и при этом оставить ее активной используйте сочетание клавиш:

Ctrl+a+d
[detached from 150087.pts-0.srv]

ID для повторного подключения - 150087

2.3 Закрытие виртуальной консоли

exit

3. Основные команды

3.1 Отсоединение

Помимо горячих клавиш, можно использовать команду:

screen -d
[detached from 150087.pts-0.srv]

3.2 Список запущенных консолей

screen -ls

3.3 Переподключение к консоли

Используйте номерной id, для подключения к определенной консоли

screen -r 150087

Использование виртуальной консоли особенно удобно для команд, требующих длительного выполнения. Теперь вы будете уверены, что Ваша команда завершится корректно и узнаете ее итоговый вывод даже при потере связи с основной консолью.





Нет комментариев