--- title: tmux — 세션 유지 터미널 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: 원격 작업 중 연결이 끊겨도 세션을 유지해 주는 터미널 멀티플렉서. 배포·장기 작업 필수. tags: 프로그램, 원격 서버 접속 관리, tmux --- **💬 "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 세션 목록을 확인하고 배포 세션에 재접속한 결과입니다. ![tmux 명령어 실행 결과: 세션 목록과 배포 진행](https://games.cursorai.co.kr/assets/tmux-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/remote/tmux.html