Cover

리눅스 서버에서 원격 접속 터미널 세션 유지하기: tmux 활용법

라이너
라이너
3일전 · 조회수 65 · 리눅스에 게시됨

서버에서 중요한 작업을 수행하던 도중 터미널이 갑자기 끊긴 경험이 있는가?

얼마 전npm install을 실행하고 한참을 기다렸는데, CPU 사용량이 치솟더니 SSH 세션이 강제 종료되어 터미널 접속이 끊겨버렸다.
다시 접속해 보니 작업이 중단되어 있었고, 처음부터 다시 시작해야 하는 상황이었다.
이러한 예상치 못한 터미널 종료는 단순한 불편을 넘어 시간과 생산성에도 큰 영향을 미친다.

하지만 이 문제를 해결할 방법이 있다. tmux를 사용하면 터미널 세션을 유지하면서 안정적으로 작업을 수행할 수 있다.

1. 세션이 끊기는 주요 사례

  • 인터넷 연결이 불안정하여 SSH 연결이 강제 종료되는 경우

  • 터미널을 실수로 닫았을 때

  • 네트워크 환경이 바뀌거나 VPN이 끊어질 때

  • npm install과 같은 높은 리소스를 요구하는 작업이 서버에서 실행 중일 때

  • 장시간 유지해야 하는 작업 도중 터미널이 자동으로 종료될 때

이러한 문제를 해결하기 위해 tmux를 사용하면 SSH 세션이 끊겨도 터미널 작업이 계속 실행된다.

2. tmux 개념과 기본 사용법

tmux란?

tmux는 하나의 터미널 내에서 여러 개의 세션을 관리할 수 있는 터미널 멀티플렉서이다. 이를 통해 SSH 세션이 종료되더라도 실행 중인 프로세스를 유지할 수 있다.

3.1 tmux 설치

대부분의 리눅스 배포판에서 tmux를 쉽게 설치할 수 있다.

# Ubuntu / Debian
sudo apt update && sudo apt install tmux

# CentOS / RHEL
sudo yum install tmux

# macOS (Homebrew 사용 시)
brew install tmux

3.2 tmux 세션 시작하기

tmux

위 명령어를 입력하면 새로운 tmux 세션이 시작된다.

3.3 세션 분리 (detach) 후 유지하기

Ctrl + b, d

위 단축키를 누르면 현재 tmux 세션에서 빠져나오면서 세션을 백그라운드에서 유지할 수 있다.

3.4 기존 세션 재접속 (attach)

tmux attach -t 0  # 세션 번호가 0일 경우

만약 여러 개의 세션이 있을 경우 세션 목록을 확인 후 접속하면 된다.

tmux list-sessions  # 실행 중인 세션 목록 확인
tmux attach -t <세션명>

3.5 세션 종료

세션이 더 이상 필요 없다면 종료할 수 있다.

exit  # tmux 세션 내에서 실행

또는, Ctrl + b, x를 눌러서 창을 종료할 수도 있다.


3. tmux 활용 예제

4.1 백그라운드에서 npm install 실행하기

tmux new -s install-session
npm install  # 패키지 설치 실행
Ctrl + b, d  # 세션 분리

이렇게 하면 SSH 세션이 끊겨도 npm install이 계속 실행된다.

4.2 다중 창 활용하기

  • 새 창 만들기: Ctrl + b, c

  • 창 간 이동: Ctrl + b, n (다음 창), Ctrl + b, p (이전 창)

  • 창 삭제: Ctrl + b, &


4. 마무리

tmux를 활용하면 SSH 연결이 끊겨도 작업이 지속되므로 서버 관리가 훨씬 안정적이고 편리해진다.
중요한 작업을 수행할 때마다 tmux 세션을 생성하고, 필요할 때 다시 접속하는 습관을 들이면 서버 운영이 더욱 원활해질 것이다.
이제 tmux를 사용하여 SSH 세션 종료 걱정 없이 리눅스 서버를 효율적으로 관리해보자!

댓글 (0)

댓글을 불러오는 중...