tmux — 세션 유지 터미널
Linux / 원격 서버 접속 관리 / tmux.html
💬 "tmux 명령어"
tmux는 서버에서 세션을 유지해 줍니다. ssh가 끊겨도 작업이 계속 돌아갑니다.
장시간 배포·배치·로그 추적을 안전하게 돌리는 표준 도구입니다.
- 개념: 가상 터미널을 만들어 세션·창·분할을 관리합니다.
- 세션: new로 만들고 attach로 다시 붙습니다.
- 분할: " 세로 분할, % 가로 분할, 방향키로 이동합니다.
- 접두키: 기본은 Ctrl+b이며 이후 키를 조합합니다.
자주 쓰는 옵션
| 옵션 | 설명 |
|---|---|
new -s <이름> | 이름 있는 세션을 만듭니다 |
attach -t <이름> | 기존 세션에 다시 붙습니다 |
ls | 세션 목록을 봅니다 |
-d attach | 다른 클라이언트를 떼고 붙습니다 |
필수 명령어 조합 3가지
tmux new -s deploy— 배포용 세션 생성tmux ls— 현재 세션 목록 확인tmux attach -t deploy— 끊긴 뒤 배포 세션에 재접속
💬 "성능 테스트 전후 비교에 쓰는 예시 알려줘"
실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.
1단계 · 세션 생성
작업 전에 이름 있는 세션을 만듭니다.
tmux new -s deploy
2단계 · 작업 실행
세션 안에서 오래 걸리는 작업을 시작합니다.
cd /opt/app && ./bin/deploy.sh 2>&1 | tee /tmp/deploy.log
3단계 · 분리 후 재접속
Ctrl+b d로 분리하고, 다시 붙어 진행 상황을 봅니다.
tmux attach -t deploy
실무에서는 이렇게 씁니다
1. 장시간 배포
상황 — 20분 걸리는 배포 중 ssh가 끊기면 작업이 죽습니다.
tmux new -s deploy 'bash -lc "./bin/deploy.sh 2>&1 | tee /tmp/deploy.log"'
결과 — 세션 안에서 배포가 진행되어 연결이 끊겨도 계속됩니다.
포인트 — 재접속 후 로그 파일을 tail로 보며 진행 상황을 확인합니다.
2. 장기 배치 모니터링
상황 — 밤새 도는 배치를 실시간으로 보고 싶습니다.
tmux new -s batch 'tail -F /var/log/app/batch.log'
결과 — 언제든 붙어서 로그를 볼 수 있고, 나가도 수집이 계속됩니다.
포인트 — 세션 이름을 작업별로 붙여두면 여러 작업을 구분하기 쉽습니다.
주의할 점
- 명령을 인자로 주고 세션이 끝나면 tmux 세션도 종료됩니다(로그 파일을 남겨 확인).
- 서버 재부팅 시 세션은 사라집니다. 영구 실행은 systemd 서비스로 구성합니다.
- 접두키(Ctrl+b)를 모르면 키가 안 먹는 것처럼 보입니다.
실제 실행 화면
tmux 세션 목록을 확인하고 배포 세션에 재접속한 결과입니다.

실제 운영 중인 서버
이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.