screen — 세션 유지(전통 도구)

Linux / 원격 서버 접속 관리 / screen.html

원격 서버 접속 관리원문등록 2026-10-18

💬 "screen 명령어"

screen은 tmux와 같은 목적의 세션 유지 도구입니다. 오래된 서버에 기본 설치된 경우가 많습니다.

접두키는 Ctrl+a이며, 이후 키를 조합합니다.

  • 개념: 터미널 세션을 만들어 분리·재접속할 수 있습니다.
  • 접두키: Ctrl+a 뒤에 명령 키를 누릅니다.
  • 분리/재접속: Ctrl+a d로 분리, screen -r로 재접속합니다.
  • 목록: screen -ls로 세션 목록을 봅니다.

자주 쓰는 옵션

옵션설명
-S <이름>이름 있는 세션을 만듭니다
-r <이름>세션에 재접속합니다
-ls세션 목록을 봅니다
-dmS <이름>분리된 상태로 세션을 시작합니다

필수 명령어 조합 3가지

  • screen -S deploy — 배포 세션 생성
  • screen -ls — 세션 목록 확인
  • screen -dmS batch bash -lc '/opt/app/bin/batch.sh' — 분리된 세션에서 배치 실행

💬 "실무에서 가장 많이 쓰는 조합으로 예시 들어줘"

실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.

1단계 · 세션 생성

작업용 세션을 만듭니다.

screen -S deploy

2단계 · 작업 실행

오래 걸리는 작업을 세션 안에서 돌립니다.

./bin/deploy.sh 2>&1 | tee /tmp/deploy.log

3단계 · 분리/재접속

Ctrl+a d로 나가고 다시 붙습니다.

screen -r deploy

실무에서는 이렇게 씁니다

1. 기본 설치 환경에서 장기 작업

상황 — tmux가 없고 screen만 설치된 서버입니다.

screen -dmS deploy bash -lc 'cd /opt/app && ./bin/deploy.sh > /tmp/deploy.log 2>&1'

결과 — 세션이 백그라운드에서 배포를 실행합니다.

포인트 — 출력을 파일로 남겨야 재접속 없이도 확인할 수 있습니다.

2. 세션 정리

상황 — 오래된 screen 세션이 쌓여 있습니다.

screen -ls

결과 — (Detached)/(Attached) 상태로 목록이 보입니다.

포인트 — Attached로 남은 세션은 누군가 작업 중일 수 있으니 확인 없이 죽이지 않습니다.

주의할 점

  • tmux와 접두키가 달라 혼동하기 쉽습니다(Ctrl+a).
  • Attached 세션을 무리하게 -d로 떼면 다른 사용자 작업에 영향을 줍니다.
  • 서버 재부팅 시 세션이 사라집니다.

실제 실행 화면

분리된 screen 세션 목록을 확인한 결과입니다.

screen 명령어 실행 결과: 세션 목록

실제 운영 중인 서버

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