Использование screen для запуска процессов в фоне

Утилита screen позволяет создавать отдельные пространства в системе, между которыми можно переключаться. В этих пространствах можно запускать процессы (например, игровые серверы), которые будут работать даже после выхода из сессии SSH

  • Для установки screen на сервер воспользуйтесь командой

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

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

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

Last updated