Использование 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 нужно выполнять, когда запущенные процессы внутри пространства уже остановлены

Нужна помощь?

Напишите нам, мы поможем разобраться 😉