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 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