UnsplashClint Patterson

리눅스 스크린 만든사람 천재 같습니다

컴퓨터, 소프트웨어 2024년 3월 27일

스크린(screen)이란?

스크린은 터미널 환경에서 멀티태스킹을 손쉽게 할 수 있는 유틸입니다. 가상 터미널을 만들어 A, B, C 명령어를 실행하고 각 실행상태를 모니터링 할 수 있습니다.

개인적으로 리눅스를 사용할 때 무조건 설치하는 필수 유틸입니다. 데스크탑 환경과 달리 터미널 환경을 제약이 많은데 스크린을 통해 다양한 작업을 손쉽게 할 수 있습니다.

스크린 장점

데몬 없이 A라는 명령어를 실행한 상태에서 모니터링 하면서 B를 실행하고 싶을 때, ssh를 새로 접속해야 합니다. 스크린을 사용하면 새로운 ssh접속없이 A와 B 실행화면을 오가면서 확인할 수 있습니다.

이렇게 하면 명령어나 스크립트를 동시에 손쉬운 방법으로 명령어를 여러개 실행할 수 있고, 로그 작성없이도 상태를 확인할 수 있습니다.

sh파일이나 py파일을 실행할 때 따로 로그 지정을 하지 않아도 터미널에서 메시지를 확인할 수 있습니다.

스크린을 데몬으로 실행할 수도 있기 때문에 크론탭에서도 스크린으로 실행할 수 있습니다.

스크린 간단 사용법

스크린은 계정마다 다르게 실행됩니다. root로 실행한 스크린을 user계정으로 확인할 수 없습니다.

스크린 설치

apt install screen

스크린 설치

스크린 도움말

screen --help

스크린 도움말 확인

작동중인 스크린 목록 확인

screen -ls

스크린 목록 확인

스크린 목록 예

rclone-copy2, rclone-copy, ffmpeg라는 세 개의 스크린이 실행중입니다. Detached라고 표시되어 있기 때문에 어느 스크린에도 접속되어 있지 않습니다. 스크린명 앞은 스크린세션마다 붙는 고유한 숫자입니다.

새 스크린 실행(스크린명 지정)

새 스크린을 실행하고 자동으로 접속(Attach)합니다.

screen -S 스크린이름

새 스크린 실행(스크린이름)

스크린 접속(스크린명 혹은 세션숫자)

# 숫자로 접속
screen -r 118830

# 이름으로 접속(위와 같은 결과)
screen -r rclone-copy2

스크린 접속(스크린명 혹은 세션숫자)

스크린 빠져나오기(Ctrl+A, D)

rclone-copy2라는 스크린에 접속중

위와 같이 스크린에 접속 중(Attatched)인 상태에서 빠져나오려면 CTRL+A, D를 순서대로 누르면 됩니다.

스크린 종료

터미널을 종료하듯이 exit명령어를 통해 스크린을 종료할 수 있습니다.

exit

스크린 종료

스크린을 데몬으로 실행

새 스크린을 데몬으로 실행합니다. 새로 생성한 스크린에는 자동으로 접속(Attach)하지 않습니다.

screen -dmS 스크린명

스크린을 데몬으로 실행(접속하지 않음)

스크린을 데몬으로 실행한 예

위는 스크린샷은 testscreen이라는 새 스크린을 데몬으로 실행한 예입니다. screen -ls명령어로 스크린 목록을 확인, screen -dmS testscreen으로 새 스크린 데몬으로 실행, 다시screen -ls로 스크린 목록을 확인한 결과 입니다.

이 명령어를 이용하면 크론탭에서 명령어나 스크립트를 스크린으로 실행할 수 있습니다.

마치며...

뭐 개발자나 컴덕 아니면 별로 쓸 일은 없겠지만 스크린을 첨에 알게 됐던 시절에 이거 만든 사람 천재다!! 라며 감탄했던 일이 생각나네요. 스크린은 사용방법도 쉽고 저처럼 따로 리눅스를 배운적이 없는 사람에게는 정말 유용한 어플인 것 같습니다.

태그

BoniK

협업, 작업의뢰, 레슨 및 기타 문의 : mail@bonik.me