Screen 으로 여러 터미널 관리하기

LinuxBeginner
지금 연습하기

소개

screen 명령어는 여러 스크립트를 백그라운드에서 동시에 실행하는 데 매우 유용합니다. 이를 통해 각 터미널을 열어두지 않고도 장시간 실행되는 작업을 시작할 수 있습니다. 아래에서는 screen을 사용하여 스크립트를 백그라운드에서 실행하고 이러한 세션을 관리하는 방법을 살펴보겠습니다.

screen command usage example

백그라운드에서 스크립트 실행

~/project에서 서로 다른 작업을 수행하는 세 개의 스크립트가 있습니다.

환경에서 터미널을 열고 (그림에서 ① 또는 ②) 다음 명령을 입력합니다.

ls ~/project
terminal listing project files

이 3 개의 스크립트를 동시에 실행하려면 다음과 같이 할 수 있습니다.

three scripts running simultaneously

이제 screen을 사용하여 이러한 스크립트를 분리된 세션에서 동시에 실행해 보겠습니다.

screen을 사용하여 이러한 스크립트를 백그라운드에서 실행하려면 -dmS 옵션을 사용합니다.

  • -d: 세션을 시작하고 즉시 분리합니다.
  • -m: screen이 새 세션을 생성하도록 강제합니다.
  • -S: 쉽게 참조할 수 있도록 세션의 이름을 지정할 수 있습니다.

스크립트 시작하기

하나의 터미널을 열고 스크립트가 포함된 디렉토리로 이동합니다. 그런 다음 다음 명령을 사용하여 각 스크립트를 별도의 screen 세션에서 시작합니다.

screen -dmS task1 ./script1.sh
screen -dmS task2 ./script2.sh
screen -dmS task3 ./script3.sh

세션 관리하기

스크립트를 시작한 후 다양한 명령을 사용하여 이러한 screen 세션을 관리할 수 있습니다.

모든 세션 목록

screen -ls
screen sessions list output

이 명령은 실행 중인 모든 screen 세션을 표시합니다.

세션에 다시 연결하기

screen -r session_name

특정 스크립트의 출력을 확인하거나 상호 작용하려면 이 명령을 사용하여 해당 세션에 다시 연결합니다. session_name을 스크립트를 시작할 때 할당한 이름 (예: task1, task2 또는 task3) 으로 바꿉니다.

세션에서 분리하기

세션을 확인한 후에는 Ctrl-a를 누른 다음 d를 눌러 세션에서 분리하고 백그라운드에서 계속 실행되도록 할 수 있습니다.

세션 종료하기

세션을 종료하려면 screen -r session_name을 사용하여 다시 연결한 다음 exit를 입력하거나 Ctrl-d를 누릅니다.

✨ 솔루션 확인 및 연습

요약

screen을 사용하여 여러 백그라운드 작업을 관리하면 특히 장시간 실행되거나 백그라운드 프로세스를 처리할 때 워크플로우를 크게 간소화할 수 있습니다. 분리된 screen 세션에서 스크립트를 실행하면 깔끔한 작업 공간을 유지하고 서버에서 연결을 끊거나 터미널을 닫더라도 프로세스가 중단 없이 계속 실행되도록 할 수 있습니다.

screen을 사용해보고 워크플로우에 가장 적합하게 적용하고 생산성을 향상시키는 방법을 찾아보세요!