Bash는 백그라운드 프로세스를 기다립니다.

Sheeraz Gul 2023년6월20일
Bash는 백그라운드 프로세스를 기다립니다.

이 튜토리얼은 Bash에서 백그라운드 프로세스를 기다리는 방법을 보여줍니다.

Bash는 백그라운드 프로세스를 기다립니다.

Bash의 wait 명령을 사용하여 모든 백그라운드 프로세스가 완료될 때까지 기다릴 수 있습니다. 이 명령은 프로세스를 기다리고 종료 상태를 반환합니다.

wait 명령은 현재 셸 실행 환경에 영향을 미치므로 Bash 및 기타 셸에 내장되어 있습니다.

wait 명령의 구문은 다음과 같습니다.

wait [Options] BackgroundProcessID

여기서 BackgroundProcessID ID는 프로세스 또는 작업입니다. wait 명령은 주어진 ID에 대해 모든 프로세스 및 하위 프로세스가 완료될 때까지 대기합니다.

wait 명령의 간단한 예는 다음과 같습니다.

wait 1234

위의 명령은 백그라운드 프로세스 1234를 기다립니다. 또한 여러 프로세스를 지정할 수 있으며 wait 명령은 모든 백그라운드 프로세스를 기다립니다.

이제 백그라운드 프로세스에서 프로세스를 실행해 보겠습니다.

rsync -a /mn/c/Users/Sheeraz &

위의 명령은 백그라운드에서 프로세스를 실행하고 작업 및 프로세스 ID를 반환합니다. 출력을 참조하십시오.

[1] 37

여기서 작업 ID는 1이고 프로세스 ID는 37입니다.

이제 작업을 기다리기 위해 다음 명령을 실행합니다.

wait %1

여기서 1은 작업 ID입니다. 이 명령의 출력은 다음과 같습니다.

[1]+  Exit 23                 rsync -a /mn/c/Users/Sheeraz

프로세스를 기다리기 위해 다음 명령을 사용합니다.

wait 37

위의 명령은 백그라운드 프로세스 37이 완료될 때까지 기다립니다. 대부분의 경우 Bash 스크립트 파일에서 wait 명령이 사용되어 병렬로 실행되는 백그라운드 프로세스를 생성합니다.

다음은 스크립트 파일의 예입니다.

#!/bin/bash
sleep 30 &
ProcessId=$!
echo "PID: $ProcessId"
wait $ProcessId
echo "Exit status: $?"

이 스크립트를 실행하면 백그라운드 프로세스의 프로세스 ID와 종료 상태가 출력됩니다. 출력을 참조하십시오.

PID: 50
Exit status: 0
작가: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

관련 문장 - Bash Background