Использование команды screen в Linux: полный обзор

В Linux часто возникает задача запускать процессы, которые должны продолжать работать даже после закрытия терминала или разрыва SSH-сессии. Для этого используется утилита GNU Screen — мощный инструмент управления терминальными сессиями.
Что такое screen
screen — это терминальный мультиплексор. Он позволяет:
- запускать несколько сессий в одном терминале
- отсоединяться от сессии без остановки процессов
- повторно подключаться к уже запущенным процессам
- работать с удалёнными серверами без потери данных при обрыве соединения
Установка screen
Ubuntu / Debian:
sudo apt update
sudo apt install screen
CentOS / RHEL:
sudo yum install screen
Arch Linux:
sudo pacman -S screen
Основные команды screen
Создание новой сессии
screen
Или с именем:
screen -S mysession
Отсоединение от сессии (detach)
Чтобы выйти из screen, не останавливая процессы:
Ctrl + A, затем D
После этого вы вернётесь в обычный терминал, а процесс продолжит работу.
Просмотр списка сессий
screen -ls
Пример вывода:
There are screens on:
1234.mysession (Detached)
5678.another (Detached)
Подключение к сессии
screen -r mysession
или по ID:
screen -r 1234
Завершение сессии
Внутри screen:
exit
или завершить принудительно:
screen -X -S mysession quit
Полезные горячие клавиши
Все команды начинаются с:
Ctrl + A
Далее:
C— создать новое окноN— следующее окноP— предыдущее окноD— отсоединиться от сессииK— закрыть текущее окно"— список окон
Пример использования
Допустим, вы запускаете долгий процесс на сервере:
screen -S backup
Запускаете резервное копирование:
rsync -av /data /backup
Отсоединяетесь:
Ctrl + A, D
Теперь можно закрыть SSH — процесс продолжит работать.
screen vs tmux
Сегодня часто используют альтернативу — tmux, но screen всё ещё актуален:
| Функция | screen | tmux |
|---|---|---|
| Простота | ✔ | ✔ |
| Гибкость | средняя | высокая |
| Распространённость | высокая | высокая |
Заключение
screen — это простой и надёжный инструмент для управления длительными процессами в Linux. Он особенно полезен при работе по SSH, автоматизации задач и администрировании серверов.
