만약 터미널(쉘)에서 작업중 열린 세션은 닫아야 하지만 걸어놓은 작업(소스빌드, 모니터링등)을 그대로 하고 싶다면 그때 screen 명령을 사용하여 세션을 닫더라도 작업을 계속 유지하여 수행시킬 수 있다
우선 각 리눅스 배포판별로 screen을 설치한다.
#>apt-get install screen or #>yum install screen 등...
screen은 기본적으로 세션을 생성하고 해당 세션에서 빠져 나오거나 들어가는 형태로 구성이 된다 때문에 각 세션별 사용자가 들어가기 위해 세션명(별명)을 주어 생성하게 되고 이를 이용하여 해당 세션에서 나온 뒤 다시 찾아 들어 갈 수 있게 된다
1. screen 생성시
#>screen -S <세션명>
또는 그냥
#>screen
위 명령을 수행하게 되면 세션이 리프레쉬 되면서 기존에 사용하던 세션에서 새롭게 생성된 세션으로 이동한다.
2. 생성한 screen의 리스트를 확인하고자 할 때
#>screen -list
위 명령시 아래와 같이 현재 생성되어 있는 세션리스트를 보여준다
There is a screen on:
19993.session1 (12/31/2013 04:18:47 PM) (Attached)
1 Socket in /var/run/screen/S-root.
여기서 생성시 session1의 세션명으로 생성을 하여 위와 같이 표시된다.
3. screen을 사용하여 세션을 생성하여 사용 중 상태 그대로 해당 세션에서 나오고 (detach) 싶을 때
Ctrl + a, d
4. 생성한 세션으로 들어가고 싶을 때
#>screen -r [세션명]
5. 작업 중 새로운 screen 생성
Ctrl + a, c
6. 현재 screen 의 Title 명 변경
Ctrl + a, A
7. 작업 중 다른 screen으로 옮기고 싶을 때
7.1. 바로 이전에 사용하던 screen
Ctrl + a, a
7.2. screen 번호와 Title 보고 이동(5 항목과 함께 이용하면 편리하다)
Ctrl + a, " (화살표 키 이동 후 엔터)
7.3. 번호 창으로 이동
Ctrl + a, [0-9]
7.4. 다음 screen
Ctrl + a, n
7.5. 이전 screen
Ctrl + a, p
8. 세션의 종료
해당 세션으로 #>screen -r [세션명] 을 통해 들어간뒤
#>exit
명령을 통해 해당 세션을 종료하면 됩니다