상세 컨텐츠

본문 제목

bash session 관리를 위한 tmux 사용법 정리

개발/개발환경설정

by Matthew0633 2022. 5. 30. 15:14

본문

tmux 필요성

  • 원격서버 연결을 통한 모델 학습 과정에서, ssh 재접속 시 코드 실행이 다운되고 학습 log가 출력된 bash 창 결과가 증발되는 현상이 종종 발생한다.
  • tmux에서 bash 세션을 명명하고 따로 관리할 경우, 서버를 shutdown 하지 않는 한 코드 실행 프로세스가 유지되며, log가 기록된 bash 출력결과 또한 이어 확인할 수 있다
  • 요약: tmux를 통해 원격접속된 서버의 터미널을 종료해도 서버 백그라운드에서 원하는 프로세스 실행 지속가능

 

tmux 설치 (ubuntu)

$ sudo apt-get install tmux
$ tmux

 

tmux 개념

  • session : tmux의 가장 큰 실행 단위, tmux이 만든 session에 attach/detach 할 수 있으며, detach 된 세션은 종료되지 않고, 백그라운드에서 계속 실행이 가능
  • window : 세션은 여러개의 윈도우로 구성. 사용자가 터미널 화면으로 보는 뷰이며 크롬 내 탭들과 유사한 개념, 윈도우 간 전환 가능
  • pane : 하나의 window 내에서 가로 혹은 세로로 화면이 분할된 단위, window마다 pane 구성 또한 전환

tmux 구조

 

session 관련 명령어

# 새로운 세션 생성
tmux new -s (session_name)

# 세션 만들면서 윈도우랑 같이 생성
tmux new -s (session_name) -n (window_name)

# 세션 종료
exit

# 세션 목록
tmux ls

# 세션 다시 시작하기(다시 불러오기)
tmux attach -t session_number

# 세션 중단하기
(ctrl + b) d

# 스크롤하기
ctrl + b + [

# 특정 세션 강제 종료
tmux kill-session -t session_number

 

window 관련 명령어

# 새 윈도우 생성
(ctrl + b) c

# 새 윈도우 이동
(ctrl + b) b (숫자)

 

pane 관련 명령어

# 틀 나누기
(ctrl + b) % #좌우로 나누기
(ctrl + b) " #위아래로 나누기

# 틀끼리 이동하기
(ctrl + b) 방향키
(ctrl + b) q
(ctrl + b) o #순서대로 이동

# 틀 삭제
(ctrl + d)

# 틀 사이즈 조정
(ctrl + b) : resize_pane -L 10 #L,R,U,D 입력하면 상하좌우로 조절됨
(ctrl + b) (alt) 방향키

# 단축키 목록
(ctrl + b) ?

 

<Reference>

https://velog.io/@ur-luella/tmux-사용법

https://knackin.tistory.com/4

https://hbase.tistory.com/200

관련글 더보기

댓글 영역