> For the complete documentation index, see [llms.txt](https://support.minehosting.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.minehosting.ru/servers/screen.md).

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

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

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

{% tabs %}
{% tab title="Debian/Ubuntu (apt)" %}

```bash
apt install screen -y
```

{% endtab %}

{% tab title="CentOS (yum)" %}

```bash
yum install screen -y
```

{% endtab %}
{% endtabs %}

## Работа с пространствами

{% hint style="info" %}
**Шпаргалка на будущее. Основные команды в двух словах**

* `screen -S name`: создать пространство с именем `name`
* Сочетание клавиш `Ctrl` + `A` + `D`: свернуть пространство (выйти из него)
* `screen -ls`: посмотреть список запущенных пространств
* `screen -x name`: зайти в запущенное пространство

**Далее подробное описание каждой из этих команд ->**
{% endhint %}

{% hint style="warning" %}
**Обратите внимание!** При использовании команд важно сохранять регистр. -S и -s это разные аргументы. Если указано, например, -S, необходимо использовать именно заглавную букву
{% endhint %}

### Создать новое пространство

* Выполните эту команду, чтобы создать новое пространство. **После создания вы сразу окажетесь внутри созданного пространства**
* Переменную `name` замените на любое удобное имя. Оно будет использоваться для переключения между пространствами, чтобы вы знали, что есть что

```bash
screen -S name
```

### Свернуть пространство (выйти из него)

* Чтобы свернуть пространство (выйти из него), в котором вы находитесь, необходимо нажать сочетание клавиш `Ctrl` + `A` + `D`
* Это вернет вас обратно туда, где вы были перед входом в пространство

### **Список доступных пространств**

* Используйте команду, чтобы посмотреть список доступных пространств

```bash
screen -ls
```

Вы получите список запущенных пространств в примерно таком виде:

![](/files/dCM3pXpjRlj7t4BDg9Xr)

{% hint style="warning" %}
**Обратите внимание!** У вас есть техническая возможность заходить в пространство внутри пространства. Получится такая (нежелательная) матрешка. Чтобы не запутаться, всегда проверяйте, где вы находитесь, прежде чем использовать команды `screen -S` (создание пространства) или `screen -x` (команда для входа в пространство, о которой расскажем чуть ниже)

В скобочках справа в списке пространств вы видите подписи **Attached** и **Detached**

* **Attached** означает, что прямо сейчас вы находитесь внутри этого пространства. Нажмите сочетание клавиш `Ctrl` + `A` + `D`, чтобы свернуть его (выйти из него)
* **Detached** означает, что это пространство в данный момент работает в фоне (то есть вы в нем не находитесь)
  {% endhint %}

### Вернуться в уже созданное пространство

* Используйте эту команду, чтобы развернуть пространство (войти в него)

```
screen -x name
```

* Вместо переменной `name` подставьте имя пространства из списка, который можно узнать командой `screen -ls`. Обратите внимание на подписи *Attached* и *Detached* в списке пространств, о которых мы говорили в предыдущем блоке

{% hint style="info" %}
Если у вас создано только одно пространство, команду `screen -x` можно использовать без указания имени пространства
{% endhint %}

### Удалить созданное пространство

* Если вы хотите полностью завершить работу в определенном пространстве, зайдите в него (`screen -x name`) и напишите команду

```
exit
```

* В таком случае пространство будет удалено и пропадет из списка `screen -ls`

{% hint style="warning" %}
**Обратите внимание!** Команду exit нужно выполнять, когда запущенные процессы внутри пространства уже остановлены
{% endhint %}

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

[Напишите нам](https://minehosting.ru/chat), мы поможем разобраться 😉
