MAATRIX / Блог / tmux и screen для долгих задач по SSH

tmux и screen для долгих задач по SSH

tmux и screen: держим долгие задачи по SSH живыми
Блог MAATRIX · 2026-07-07

Запустили миграцию, бэкап или обучение модели по SSH, связь оборвалась — и процесс убит вместе с сессией. tmux и screen решают это: процесс живёт в отдельной сессии на сервере, а вы отсоединяетесь и переподключаетесь, когда удобно. Разбираем tmux как основной инструмент и screen как запасной.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Проблема оборванной SSH-сессии

Когда вы запускаете команду в SSH, она привязана к вашей сессии. Разрыв связи (закрыли ноутбук, моргнул интернет) присылает процессу SIGHUP, и он умирает. Долгая операция — импорт дампа, сборка, ML-тренировка — обрывается на середине.

tmux и screen — это терминальные мультиплексоры: они держат сессию на сервере независимо от вашего подключения. Отсоединились — процесс продолжает работать; вернулись — увидели тот же экран.

На VPS MAATRIX это стандартный рабочий инструмент: запустили тяжёлую задачу на AMD EPYC, отключились, проверили результат позже с телефона.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS для длительных задач

Установка

Обычно tmux уже есть; если нет — ставим:

sudo apt update && sudo apt install -y tmux

Для RHEL/CentOS/AlmaLinux:

sudo dnf install -y tmux

Базовый цикл: старт, отсоединение, возврат

Создаём именованную сессию, запускаем в ней задачу:

tmux new -s backup
# внутри сессии запускаем долгую команду
pg_dump mydb | gzip > /mnt/data/backup.sql.gz

Отсоединяемся, не прерывая процесс — комбинация Ctrl+b, затем d (detach). Можно спокойно закрыть SSH.

Позже подключаемся к серверу заново и возвращаемся в сессию:

tmux ls              # список сессий
tmux attach -t backup

Процесс всё это время работал. Завершить сессию, когда она больше не нужна — просто exit внутри неё или:

tmux kill-session -t backup

Окна и панели

tmux умеет больше одной оболочки в сессии. Все команды начинаются с префикса Ctrl+b:

  • Ctrl+b c — новое окно; Ctrl+b n / p — следующее/предыдущее.
  • Ctrl+b % — разбить панель вертикально; Ctrl+b " — горизонтально.
  • Ctrl+b <стрелка> — переход между панелями.
  • Ctrl+b d — отсоединиться от всей сессии.

Типичный сценарий: в одной панели крутится сервер, во второй смотрите логи через tail -f, в третьей работаете руками.

Запасной вариант: screen

screen делает то же самое, синтаксис отличается. Полезно знать, если tmux недоступен:

sudo apt install -y screen
screen -S backup        # создать сессию
# отсоединиться: Ctrl+a затем d
screen -ls              # список сессий
screen -r backup        # вернуться

Префикс у screen — Ctrl+a вместо Ctrl+b. Для новых серверов рекомендуют tmux: активнее развивается и гибче настраивается.

Частые ошибки

  • Забыли имя сессии — tmux ls покажет все, attach без -t цепляется к последней.
  • Внутри tmux не работает прокрутка мышью — войдите в режим копирования Ctrl+b [ и листайте стрелками, выход — q.
  • Запустили задачу без tmux и уже боитесь разрыва — на будущее используйте nohup command & или сразу tmux.
  • Сессия исчезла после перезагрузки сервера — tmux не переживает ребут; для этого нужен systemd-сервис, а не мультиплексор.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS для длительных задач

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

tmux или screen?

Для новых серверов — tmux: активная разработка, панели, гибкая настройка. screen берите, только если tmux нельзя поставить.

Переживает ли tmux-сессия перезагрузку сервера?

Нет. При ребуте все сессии теряются. Задачи, которые должны переживать перезагрузку, оформляйте как systemd-сервис.

Чем tmux лучше nohup?

nohup просто отвязывает процесс от терминала, но вернуться к его интерактивному выводу нельзя. tmux сохраняет живой терминал, к которому можно переподключиться.