Перейти к содержанию

Фоновые процессы через tmux

Зачем нужен tmux

tmux нужен для долгих задач. Процесс продолжит работать, даже если вы закроете SSH.

Запускайте в tmux:

  • обучение моделей;
  • генерацию датасетов;
  • vLLM или llama.cpp server;
  • ComfyUI;
  • JupyterLab;
  • долгую загрузку файлов;
  • любые задачи дольше нескольких минут.

Создание сессии

Создать сессию:

tmux new -s work

После этого вы окажетесь внутри новой tmux-сессии.

Запуск задачи

Перейдите в /workspace:

cd /workspace

Запустите задачу:

python3 train.py

Пример запуска vLLM:

vllm serve Qwen/Qwen3-32B-AWQ --host 0.0.0.0 --port 9000

Отключение от tmux

Чтобы выйти из tmux и не остановить процесс, нажмите:

Ctrl+B

Затем нажмите:

D

После этого SSH можно закрывать. Задача останется работать.

Возврат в сессию

Подключиться обратно:

tmux attach -t work

Посмотреть все сессии:

tmux ls

Несколько сессий

Под разные задачи удобно создавать отдельные сессии:

tmux new -d -s train
tmux new -d -s api
tmux new -d -s comfy

Подключиться к нужной:

tmux attach -t train

Остановка задачи

Вернитесь в сессию:

tmux attach -t work

Остановите процесс:

Ctrl+C

Выйдите из shell:

exit

Когда последний shell внутри tmux закроется, сессия завершится.

Удаление сессии

Удалить tmux-сессию снаружи:

tmux kill-session -t work

Логи

Для важных задач пишите лог в /workspace/logs.

Пример:

cd /workspace
mkdir -p logs
python3 train.py 2>&1 | tee /workspace/logs/train.log

Пример для vLLM:

cd /workspace
mkdir -p logs
vllm serve Qwen/Qwen3-32B-AWQ --host 0.0.0.0 --port 9000 2>&1 | tee /workspace/logs/vllm.log

Посмотреть лог из другого терминала:

tail -f /workspace/logs/vllm.log

Если tmux не установлен

apt update
apt install -y tmux

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

Закрыл SSH, задача пропала

Скорее всего, задача была запущена не внутри tmux.

В следующий раз сначала создайте сессию:

tmux new -s work

Не помню имя сессии

tmux ls

Не получается подключиться

Если сессия одна:

tmux attach

Если сессий несколько:

tmux attach -t SESSION_NAME