tmux 사용법

SON·어제

좋아. tmux + conda + 서버 접속 흐름을 “처음부터 끝까지” 한 번에 정리해줄게. (GPU 서버에서 학습 돌리는 상황 기준)


0) 개념 한 줄 요약

  • tmux: SSH 끊겨도 작업(학습/스크립트) 계속 돌게 “터미널 세션”을 서버에 붙여두는 도구
  • conda env: 파이썬/라이브러리 버전 충돌 막는 “개인/프로젝트 환경”

1) 서버 접속

ssh user@서버IP

2) tmux 세션 만들기 (작업방 만들기)

세션 이름을 정해서 생성:

tmux new -s exp1

이미 만들어둔 세션이 있으면 목록 확인:

tmux ls

3) conda 환경 준비/활성화

(1) 환경 생성(처음 한 번만)

conda create -n kunhee_env python=3.10 -y

(2) 환경 활성화(매번 작업 시작 시)

conda activate kunhee_env

(3) 지금 파이썬이 env 맞는지 확인(실수 방지)

which python
python -V

4) 학습/작업 실행

예시:

python train.py

로그를 파일로 남기고 싶으면(강추):

python train.py > train.log 2>&1

실시간으로 로그 보기:

tail -f train.log

5) tmux “분리(detach)” 해서 나가기 (작업은 계속 돌아감)

✅ 기본 키:

  • Ctrl + b 누르고 (prefix)
  • 손 떼고 d

즉: Ctrl+bd

SSH를 끊어도(창 닫아도) tmux 안에서 실행 중인 학습은 계속 돌아요.


6) 나중에 다시 들어와서 이어보기(붙기)

다시 서버 접속 후:

세션 목록:

tmux ls

세션 붙기:

tmux attach -t exp1

7) conda deactivate 관련 핵심

  • conda deactivate현재 터미널의 환경만 바꾸는 것
  • 이미 돌고 있는 python train.py 같은 프로세스는 실행 시작 당시 환경을 물고 계속 실행
  • 다만, 같은 tmux 창에서 새로 명령 실행할 땐 base로 실행될 수 있으니 주의

8) 자주 쓰는 tmux 단축키(기본 prefix = Ctrl+b)

  • 분리(detach): Ctrl+bd
  • 창(윈도우) 새로 만들기: Ctrl+bc
  • 창 이동: Ctrl+bn (다음), Ctrl+bp (이전)
  • 창 목록: Ctrl+bw
  • 현재 창 종료(프로세스 끝내기): exit 또는 Ctrl+d

9) “안 끊기게 돌리기” 추천 패턴(정석)

  1. ssh 접속
  2. tmux new -s exp1
  3. conda activate kunhee_env
  4. python train.py > train.log 2>&1
  5. Ctrl+bd 로 빠져나오기
  6. 나중에 tmux attach -t exp1 로 확인

원하면 너 서버 상황에 맞춰 “가장 안전한 세팅”도 바로 잡아줄게.

  • tmux 세션을 여러 개로 나눌지(실험별)
  • 로그/체크포인트 폴더 구조를 어떻게 할지
  • GPU 점유 확인(nvidia-smi)까지 한 번에 루틴으로 만들어줄까?
profile
Like it, and it will be the best.

0개의 댓글