Использование screen для запуска процессов в фоне
Утилита screen позволяет создавать отдельные пространства в системе, между которыми можно переключаться. В этих пространствах можно запускать процессы (например, игровые серверы), которые будут работать даже после выхода из сессии SSH
Для установки screen на сервер воспользуйтесь командой
apt install screen -yyum install screen -yРабота с пространствами
Обратите внимание! При использовании команд важно сохранять регистр. -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 name) и напишите команду
exitВ таком случае пространство будет удалено и пропадет из списка
screen -ls
Обратите внимание! Команду exit нужно выполнять, когда запущенные процессы внутри пространства уже остановлены
Нужна помощь?
Напишите нам, мы поможем разобраться 😉
Last updated
Was this helpful?