Screen 명령어
screen은 여러 쉘과 프로그램을 사용할 수 있습니다.또한 세션관리 기능도 지원합니다.세션관리 기능은 상당히 유용합니다.예를 들면, 터미널을 통해 원격 서버에 접속하여 작업을 하다가 네트워크 장애로 연결이 끊어진 경우 매우 난감할 수 있습니다. 이때 screen을 사용해서 작업중이였다면 세션을 유지할 수 있기 때문에 해당 작업은 로컬에서 계속진행되고 있으며 언제든지 다시 해당 세션을 통해 작업을 계속 할 수 있습니다. 더불어 하나의 서버에 여러명의 사용자가 접속하여 해당 스크린을 공유하여 같은 화면을 공유할 수도 있습니다. 이 포스팅의 아래에서는 야매?로 서버를 유지하는 예제를 보여드리겠습니다.
$ screen
screen시작
$ screen -S 세션명
세션명으로 screen시작
$ screen -R 세션명
세션명의 screen으로 복원. 세션이 하나일 경우 세션명을 주지 않아도 무관하며, 여러 개 존재하는 경우 세션 목록을 보여줌
$ screen -list
켜져있는 스크린 list를 보여줌
screen실행 중 명렁어
모든 명령어는 Ctrl + a
이후 입력
c
새 셸 생성 후 해당 셀로 이동
a
바로 전 셸로 이동
n
다음 셸로 이동
p
이전 셀로 이동
번호
번호에 해당하는 셸로 이동
'
셸 번호 또는 셸 이름으로 이동
''
셸 번호를 보여줌
A
현재 셸의 이름을 수정
W
셸 리스트를 아래에 출력
esc
Visual모드로 전환
[
구간복사, 스페이스바를 눌러 시작과 끝을 지정
]
붙여넣기
,
명령행 모드로 전환
d
현재 작업을 유지하며 screen세션을 빠져나옴
x
Lock screen
s
셀을 나눔
tab
나눠진 셸의 다른 영역으로 이동
Q
현재 영역을 제외한 나머지 숨김
스크린 사용해서 간단하게 서버띄우기
먼저 서버안에서 runser를 실행시키겠습니다
$ sudo python3 manage.py runserver 0:80
그리고 ip로 접근하면
당연히 runserver가 켜져있습니다. 하지만 이상태에서 runserver를 끈다면 연결이 끊깁니다.
그래서 간단하게 screen을 이용해서 서버를 유지시켜보려고 합니다.
screen -S runserver(세션명)
접속 후
확인해보면 screen이 돌아간다는 것을 알려줍니다.
다시 서버에 들어가서
켜준 뒤 실행했던 셸을 닫아도 서버는 유지됩니다.
이렇게 야매?로 서버를 켜보았습니다