Использование screen для запуска процессов в фоне
Утилита screen позволяет создавать отдельные пространства в системе, между которыми можно переключаться. В этих пространствах можно запу скать процессы (например, игровые серверы), которые будут работать даже после выхода из сессии SSH
- Для установки screen на сервер воспользуйтесь командой
Debian/Ubuntu (apt)
CentOS (yum)
apt install screen -y
yum install screen -y
Шпаргалка на будущее. Основные команды в двух словах
screen -S name
: создать пространство с именемname
- Сочетание клавиш
Ctrl
+A
+D
: свернуть пространство (выйти из него) screen -ls
: посмотреть список запущенных пространствscreen -x name
: зайти в запущенное пространство
Далее подробное описание каждой из этих команд ->
Обратите внимание! При использовании команд важно сохранять регистр. -S и -s это разные аргументы. Если указано, например, -S, необходимо использовать именно заглавную букву
- Выполните эту команду, чтобы создать новое пространство. После создания вы сразу ока жетесь внутри созданного пространства
- Переменную
name
замените на любое удобное имя. Оно будет использоваться для переключения между пространствами, чтобы вы знали, что есть что
screen -S name
- Чтобы свернуть пространство (выйти из него), в котором вы находитесь, необходимо нажать сочетание клавиш
Ctrl
+A
+D
- Это вернет вас обратно туда, где вы были перед входом в пространство
- Используйте команду, чтобы посмотреть список доступных пространств
screen -ls
Вы получите список запущенных пространств в примерно таком виде:

Обратите внимание! У вас есть техническая возможность заходить в пространство внутри пространства. Получится такая (нежелательная) матрешка. Чтобы не запут аться, всегда проверяйте, где вы находитесь, прежде чем использовать команды
screen -S
(создание пространства) или screen -x
(команда для входа в пространство, о которой расскажем чуть ниже)В скобочках справа в списке пространств вы видите подписи Attached и Detached
- Attached означает, что прямо сейчас вы находитесь внутри этого пространства. Нажмите сочетание клавиш
Ctrl
+A
+D
, чтобы свернуть его (выйти из него) - Detached означает, что это пространство в данный момент работает в фоне (то есть вы в нем не находитесь)
- Используйте эту команду, чтобы развернуть пространство (войти в него)
screen -x name
- Вместо переменной
name
подставьте имя пространства из списка, который можно узнать командойscreen -ls
. Обратите внимание на подписи Attached и Detached в списке пространств, о которых мы говорили в предыдущем блоке
Если у вас создано только одно пространство, команду
screen -x
можно использовать без указания имени пространства- Если вы хотите полностью завершить работу в определенном пространстве, зайдите в него (
screen -x name
) и напишите команду
exit
- В таком случае пространство будет удалено и пропадет из списка
screen -ls
Обратите внимание! Команду exit нужно выполнять, когда запущенные процессы внутри пространства уже остановлены