백그라운드 작업 생성 및 실행
이 단계에서는 장시간 실행되는 작업을 시뮬레이션하는 스크립트를 생성하고 백그라운드에서 실행하는 방법을 배우게 됩니다.
포어그라운드 (Foreground) vs 백그라운드 (Background) 프로세스 이해
Linux 터미널에서 프로세스는 포어그라운드 또는 백그라운드에서 실행될 수 있습니다.
- 포어그라운드 프로세스: 명령이 포어그라운드에서 실행되면 완료될 때까지 터미널을 점유합니다. 완료될 때까지 다른 명령을 실행할 수 없습니다.
- 백그라운드 프로세스: 명령이 백그라운드에서 실행되면 터미널이 다른 작업을 위해 자유롭게 유지되는 동안 "배후에서" 실행됩니다.
먼저 프로젝트 디렉토리로 이동해 보겠습니다.
cd ~/project
이제 장시간 실행되는 작업을 시뮬레이션하는 간단한 스크립트를 생성해 보겠습니다. 이를 사용하여 백그라운드 및 포어그라운드 작업을 시연할 것입니다.
nano long_running_task.sh
nano 편집기에서 다음 코드를 입력합니다.
#!/bin/bash
echo "Starting a long task..."
sleep 60 ## This will pause for 60 seconds
echo "Task completed."
파일을 저장하려면 Ctrl+O를 누른 다음 Enter를 누르고, Ctrl+X를 눌러 nano 를 종료합니다.
다음으로, 다음 명령을 사용하여 스크립트를 실행 가능하게 만듭니다.
chmod +x long_running_task.sh
명령 끝에 앰퍼샌드 (&) 를 추가하여 이 스크립트를 백그라운드에서 실행해 보겠습니다.
./long_running_task.sh &
다음과 유사한 출력을 볼 수 있습니다.
[1] 1234
Starting a long task...
대괄호 안의 숫자 [1]은 작업 번호이고, 그 뒤의 숫자 (이 예에서는 1234) 는 프로세스 ID(Process ID, PID) 입니다. 이제 스크립트가 백그라운드에서 계속 실행되는 동안 터미널에서 다른 명령을 입력할 수 있습니다.