Работа с утилитой Screen
Руководство по запуску и управлению программами в фоновом режиме на сервере Linux.
Screen — мощная утилита для работы в терминале, которая позволяет запускать программы в фоновом режиме, отсоединяться от них без завершения и возвращаться позже. Это особенно удобно при работе с VPS или выделенными серверами по SSH: вы можете запустить длительную задачу (например, обновление, парсинг, майнинг или серверную часть приложения), отсоединиться и продолжить работу позже, даже после разрыва соединения.
Screen создаёт виртуальные терминалы (окна), в которых выполняются команды, и позволяет управлять ими.
Установка Screen
Ubuntu / Debian:
sudo apt update
sudo apt install screen -y
CentOS / RHEL / AlmaLinux / Rocky:
sudo yum install screen -y
# или
sudo dnf install screen -y
Запуск и базовое использование
- Запустите новую сессию:
screen
Вы увидите либо приглашение терминала, либо экран приветствия (нажмите Space или Enter).
- Запустите нужную команду(например,
top,htop,python3 script.pyи т.д.). - Отсоединитесь от сессии (detach), не завершая её:
Ctrl + a, затем d
Вы увидите сообщение: [detached from ...]
- Вернитесь в сессию позже:
screen -r
Если сессий несколько — сначала посмотрите список:
screen -ls
Пример вывода:
There are screens on:
1234.pts-0.server (Detached)
5678.job1 (Detached)
2 Sockets in /var/run/screen/S-root.
Подключитесь к нужной:
screen -r 1234
или по имени
screen -r job1
Полезные команды внутри Screen
- Создать новое окно (внутри сессии): Ctrl + a, затем c
- Переключиться между окнами: Ctrl + a, затем номер окна (0–9) или Ctrl + a, затем " (список окон)
- Переименовать текущее окно: Ctrl + a, затем A → введите новое имя
- Закрыть текущее окно: Ctrl + a, затем k → подтвердите y
- Завершить всю сессию Screen: Ctrl + a, затем : → введите quit → Enter
- Выйти из копи-режима (если зашли в прокрутку): Esc или q
Прокрутка вывода (Copy mode)
Если вывод команды ушёл за пределы экрана:
- Нажмите Ctrl + a, затем [ — войдёте в копи-режим.
- Используйте стрелки, Page Up/Down или vi-подобные клавиши (h,j,k,l) для прокрутки.
- Нажмите Esc или q для выхода.
Настройка Screen (файл ~/.screenrc)
Создайте или отредактируйте файл ~/.screenrc:
nano ~/.screenrc
Пример удобной конфигурации:
# Отключить экран приветствия
startup_message off
# Включить статусную строку внизу
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'
# Автоматически создавать окна при запуске
screen -t Main
screen -t Logs
chdir /var/log
screen -t Backup
После сохранения новые сессии будут с красивой статусной строкой и преднастроенными окнами.
Полезные советы
- Если сессия зависла — подключитесь с параметром -x (мультиподключение):
screen -x
- Для автоматического запуска Screen при входе по SSH — добавьте в
~/.bashrc:
if [ -z "$STY" ]; then screen -x || screen -S main; fi
- Screen отлично работает с долгоживущими процессами (обновление ОС, компиляция, парсинг больших данных).
Помощь
Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!