본문 바로가기
개발/리눅스

리눅스 - screen 사용 방법, 세션유지를 쉽게 해보자

by 왼하루 2023. 1. 16.
반응형

리눅스에서 screen은 가상의 터미널에서 세션을 유지하여 장시간 실행되는 작업들을 유지시킬 수 있는 유틸리티 입니다. 많은 양의 데이터를 전처리 하거나, 오랜시간이 걸리는 build 작업 중 컴퓨터를 끄고 퇴근해야 할 때 유용합니다.

 

 

리눅스 screen

SSH 연결로 리눅스 서버에 접속하여 오랜 시간이 걸리는 작업을 할 때가 있습니다. 간단한 테스트로 단시간에 끝나는 작업은 잠시 기다리면 되지만 데이터 전처리 등의 작업을 할 경우에는 많은 시간, 심지어 몇일씩 작업을 유지해야할 때가 있습니다. ssh 연결 툴인 putty 나 mobaxterm 같은 툴로 원격접속해 작업하다 보면 타임아웃으로 연결이 끊기고, 작업이 끊길 때가 있습니다.

 

이럴 때 screen 을 이용하여 가상의 터미널에서 연결에 대한 걱정없이 작업을 수행하도록 할 수 있습니다.

 

  • screen 설치
  • screen 시작
  • screen 목록 확인
  • screen 종료
  • screen 기존 세션 다시 접속

 

 

screen 설치

요즘 대부분 리눅스를 설치하면 screen 패키지가 미리 설치되어 있습니다. 버전 확인은 아래와 같습니다.

screen --version
#Screen version 4.09.00 (GNU) 30-Jan-22

 

screen이 설치되어 있지 않다면 아래 명령어로 설치 합니다.

# ubuntu
sudo apt-get install screen

 

 

screen 시작

screen 시작은 간단하게 screen 명령어만 입력해도 시작됩니다.

screen

 

screen 에 대한 정보가 출력됩니다. 그상태에서 엔터 혹은 아무키나 입력하면 가상 터미널에 현재 사용 계정으로 접속됩니다.

screen 정보

 

접속한 상태입니다.

스크린 접속

 

screen 만 입력하여 세션을 시작하면 screen 명이 랜덤하게 생성됩니다. screen 세션명을 지정하여 세션을 시작하고 싶다면, -S 옵션을 사용합니다.

#screen -S 세션명
screen -S leftday

 

 

screen 목록 확인

screen 목록 확인은 -ls 혹은 -list 명령어를 끝에 붙여줍니다.

screen -ls

 

그러면 위에서 생성한 세션 목록을 확인 할 수 있습니다.

screen 목록

 

 

screen 종료

세션에 접속된 상태에서 screen 을 종료하려면 exit 명령어를 입력합니다.

#screen 종료
exit

 

screen 목록에서 특정 screen session을 종료하려면 아래와 같이 -X -S 삭제할 스크린 명 kill 을 입력합니다.

screen -X -S 삭제할 스크린 명 kill

 

2개의 스크린 중 첫번째 세션을 종료한 모습입니다.

 

 

screen 존재하는 세션에 재접속

screen 목록에 존재하는 세션에 재접속 하기 위해서는 -r 옵션을 사용합니다.

#screen 재접속
screen -r 세션명

 

Detached 된 세션에 재접속 합니다.

결과

 

 

마무리

시간이 오래걸리는 데이터 전처리 작업 시 유용한 가상터미널 활용 방법입니다. 서버가 꺼지지 않는 이상 가상 터미널을 유지할 수 있기 때문에 ssh 연결을 유지하기 보다는 screen을 적절히 활용해 보시길 추천드립니다.

 

오늘도 행복한 코딩생활 되시길 바라겠습니다.

 

감사합니다.

 

 

댓글