screen — 세션 유지(전통 도구)
Linux / 원격 서버 접속 관리 / screen.html
💬 "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 세션 목록을 확인한 결과입니다.

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