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

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

~/project에서 서로 다른 작업을 수행하는 세 개의 스크립트가 있습니다.
환경에서 터미널을 열고 (그림에서 ① 또는 ②) 다음 명령을 입력합니다.
ls ~/project

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

이제 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 세션을 표시합니다.
screen -r session_name
특정 스크립트의 출력을 확인하거나 상호 작용하려면 이 명령을 사용하여 해당 세션에 다시 연결합니다. session_name을 스크립트를 시작할 때 할당한 이름 (예: task1, task2 또는 task3) 으로 바꿉니다.
세션을 확인한 후에는 Ctrl-a를 누른 다음 d를 눌러 세션에서 분리하고 백그라운드에서 계속 실행되도록 할 수 있습니다.
세션을 종료하려면 screen -r session_name을 사용하여 다시 연결한 다음 exit를 입력하거나 Ctrl-d를 누릅니다.
screen을 사용하여 여러 백그라운드 작업을 관리하면 특히 장시간 실행되거나 백그라운드 프로세스를 처리할 때 워크플로우를 크게 간소화할 수 있습니다. 분리된 screen 세션에서 스크립트를 실행하면 깔끔한 작업 공간을 유지하고 서버에서 연결을 끊거나 터미널을 닫더라도 프로세스가 중단 없이 계속 실행되도록 할 수 있습니다.
screen을 사용해보고 워크플로우에 가장 적합하게 적용하고 생산성을 향상시키는 방법을 찾아보세요!