linux

[linux] screen 사용하기 (screen 시작, 종료, #세션유지)

-샤리- 2020. 11. 20. 15:17

리눅스 서버에서 terminal을 이용하여 명령어로 작업을 하는 도중에 큰 파일을 다운 받거나 아니면 동영상 인코딩을 하는 등 이렇게 오래 걸리는 작업을 하게 되면 그 다음 단계로 진행하지 못하고 끝날때까지 마냥 대기해야 할 때가 있다. 이런 경우는 세션을 끊지도 못하고 그냥 기다리는 수 밖에 없는데, 그럴때 screen을 이용하면 간단히 해결할 수 있다.

 

 

1. screen 설치

 

우선, centos라면 yum을 이용하여 screen을 설치해야 한다. 

$ yum install screen

 

 

2. screen 생성

 

screen이 설치가 완료 되었으면 screen을 활성화 시켜보자.

# test라는 이름의 screen 생성
$ screen -S test

# test screen에서 무언가 작업을 하는 척 var 폴더로 이동
$ cd /var
$ ls

 

이 상태에서 세션을 유지한채 잠시 빠져나온다.

키보드로 'ctrl + a'를 누른 뒤, 다시 'd' 누르면 [detached] 되면서 메인으로 빠져 나올 것이다.

 

 

3. screen 재개

 

세션이 유지되었는지 확인하기 위해서 다시 test screen으로 진입해보자.

$ screen -r test

 

 

4. screen 종료

 

아까 하던 작업이 그대로 유지되어 있음을 확인할 수 있다. 세션을 종료하기 위해 'exit' 또는 'ctrl + d'를 누른다.

'exit' 또는 'ctrl + d'
[screen is terminating] 되면서 test screen은 소멸하게 된다.

 

 

5. screen 동시에 여러개 생성

 

screen은 동시에 여러개를 만들 수도 있다. 세션을 유지하고 있는 test1, test2 screen 이렇게 2개를 만들자.

$ screen -S test1
'ctrl + a'
'd'
[detached]

$ screen -S test2
'ctrl + a'
'd'
[detached]

 

 

6. 앗, screen 이름 까먹었네? 그렇다면 실행중인 screen 목록 확인

$ screen -ls

 

 

※ 마무리

 

작업 시작시 screen 생성하는 방법과 작업 종료시 screen을 빠져나오는 간단한 명령어만 다뤘는데, 이 외에도 다양한 screen 명령어가 있다. 하지만 주로 다루는 명령어는 이정도일 것이다.