Утилита screen может быть полезна на сервере под управлением операционной системы Linux. Из справочной страницы: Screen — это полноэкранный оконный менеджер, который мультиплексирует физический терминал между несколькими процессами (обычно интерактивными оболочками). Данная утилита может использоваться, например, если необходимо запустить вручную какой-либо процесс и затем отключиться от сервера. Либо необходимо сохранить сеанс если есть вероятность потери сеанса, или вероятность того, что произойдёт какое-нибудь внештатное отключение от сервера, например, при сбое в интернет-подключении.
Для работы с утилитой screen потребуется подключиться к серверу по ssh. (В нашем блоге есть отдельная статья об этом).
Как установить утилиту screen
Для того чтобы установить утилиту screen, выполните в deb-подобных дистрибутивах:
apt-get install screen
В rpm-подобных:
yum install screen
Для запуска утилиты введите в командной строке:
screen
Также можно запустить сессию с названием, например:
screen -S archieving
После введения этих команд создаётся сеанс screen, который внешне похож на обычный терминал. Вы можете работать в нём как в обычном терминале, вводить команды, и в том числе запускать длительные процессы, которые, предположительно могут прерваться в работе.
Сеанс screen можно отсоединить и затем отключиться от сервера, продолжить выполнять другие задачи либо запустить ещё один screen. Для отсоединения от screen введите на клавиатуре комбинацию Ctrl+a, d (сначала нажмите вместе Ctrl+a, затем d). Вы вернётесь в предыдущий режим Вашей ssh сессии, от которой можете отключиться.
Сеансов screen можно открыть несколько. Если не задавать имя при создании сеанса, ему будет присвоен числовой идентификатор и имя по-умолчанию. Для просмотра списка сеансов screen выполните команду:
screen -ls
В выводе можно увидеть список сеансов: их идентификационный номер и название. Если название не было задано, оно добавляется автоматически (например, pts-0.myserver).
Для того чтобы снова присоединиться к существующему сеансу (если он был один) выполните команду:
screen -r
Если сеансов несколько, будет выведен список существующих. Для присоединения к конкретному сеансу, нужно указать его имя. Например,
screen -r archieving
или
screen -r 30887
Чтобы выйти из screen сессии и закрыть её, введите exit либо нажмите комбинацию Ctrl+d.
Рассмотрены не все возможности данной утилиты. Есть много других опций командной строки, а также команды, которые можно использовать внутри screen сессии (такие, как создание окон, переключение между ними и много других). Для того чтобы узнать все возможности программы, обратитесь в её справочное руководство:
man screen
Как получить справку по комбинациям?
Получить справку по комбинациям, которые можно использовать внутри screen, можно нажав сначала Ctrl+a затем символ "?".
Заключение
Были рассмотрены основные возможности утилиты screen, создание сессий, от которых можно отключиться или запускать длительные процессы не боясь отключений от сервера.
Также предлагаем рассмотреть другие полезные статьи:
- Как создать телеграм бота для мониторинга удаленных хостов
- Htop - интерактивный системный монитор Linux
- Подключение к VPS серверу по SSH ключу