본문 바로가기
개발환경

[Linux] Screen이란 무엇이고 어떻게 사용하는가 | LIM

by forestlim 2023. 2. 10.
728x90
반응형

Linux 내에서 작업을 하던 중 여러 군데에 있는 코드를 vim으로 보는데 계속 여기 갔다 저기 갔다 할 때마다 이동하는 게 너무 귀찮았다. 

Screen 이란 개념을 알게 되었고, 꽤나 편리하게 작업할 수 있었다. 

 

🤔 Screen 이란?

Screen이란 mac, linux 와 같은 unix 운영체제에서 독립적으로 동작하는 가상 터미널을 띄워주는 것을 의미한다. 즉, 백그라운드로 동작하는 가상 터미널인 것이다.

스크린에서 명령어를 실행시키고 터미널을 꺼도, 명령어가 백그라운드로 계속 돌아간다.

명령어를 실행시킨 뒤 터미널을 종료하고, 나중에 screen 명령을 이용해서 다시 접속하면 해당 터미널 그대로 작업을 이어나갈 수 있다.

 

https://dreamlog.tistory.com/470

 

위 그림은 screen 을 두 개 생성하고 각각 window를 2개씩 생성한 경우이다. 

Screen을 사용하여 작업하면 서버와의 연결이 끊어지더라도 screen 은 살아있고, screen 상에서 실행한 작업도 계속 실행된다.

따라서 ssh 연결이 끊어지더라도 screen 은 계속 살아있는 것이다. 

 

즉, screen 을 사용해야 할 때는 다음과 같다. 

 

1. 싱글 터미널에만 접속할 수 있을 때

   screen 을 사용해서 싱글 터미널에 여러 터미널을 만들 수 있고, 여러 screen 세션에서 다른 명령들을 실행할 수 있게 한다. 

 

2. 다른 작업을 위해 터미널을 사용하는 동안 프로세스를 계속 실행시키기 위해 daemon을 사용하지 않으려는 경우

    언제든지 내가 작업하고자 하는 스크린 세션에 접속해서 어떤 작업이 실행되고 있는 지 모니터링할 수 있음

 

3. 다른 사용자들과 세션을 공유하고자 할 때

   이것을 다중 유저 세션이라고 한다. 

 

🔨 Screen 설치

$ sudo apt-get install screen

 

설치 후 screen 을 입력했을 때 다음과 같이 나오면 된다. 

 

 

💡 Screen 사용법

 

screen 생성

screen  # 기본 세션 생성

screen -S name  # 생성할 세션의 이름. 이름은 다시 세션에 연결할 때 사용됨

 

screen 목록 보기

screen -list

예시)

screen -S test
screen -list

There is a screen on: 19539.test (Attached) 1 Socket in /var/folders/94/dj4 nzxqj00 b8 yf_sc3 l006 q40000 gp/T/. screen.

 

screen 세션 끊기

Ctrl + a, d

 

Screen 세션 재연결

screen -r # 기본 세션에 연결, screen session 이 한 개일 때 작동

screen -X name # 특정 세션에 연결

 

연결을 끊은 Screen 세션 죽이기

screen -X -S [ScreenID] quit
Screen -S [ScreenID] -X quit

 

Screen 세션 로그

screen -L

 

Window 만들기

Ctrl + a, c

ctrl 키를 누록, a와 c를 차례대로 눌러준다.

 

 

Window 목록 보기

Ctrl + a, w 

 

Window 이동하기

Ctrl + a a: 바로 전 창으로
Ctrl + a 0: 0번째 창으로
Ctrl + a 1: 1번째 창으로

아마 저 ctrl + a a를 가장 많이 쓸 것 같다..

 

Window 종료하기

exit

 

 

📚 참고

https://dreamlog.tistory.com/470

 

[Linux] screen 사용법

build 중 서버와 연결이 끊어지거나 컴퓨터를 끄고 퇴근해야 한다면? 1. screen 개념 putty와 같은 ssh 도구로 서버에 접속한 일반적인 사용 예. 서버에 screen 사용하여 접속한 예 두 그림의 차이는 서버

dreamlog.tistory.com

728x90
반응형

댓글