Bash에서 언제, 왜 "wait" 명령이 필요한가요?

Bash에서 언제, 왜 "wait" 명령이 필요한가요?

bash 쉘은 이미 명령을 하나씩 실행하고 실행된 명령이 완료될 때까지 기다리지 않습니까? 그렇다면 이 명령은 언제, 왜 필요한가요 wait?

답변1

wait백그라운드에서 작업을 시작한 경우 예를 들어 다음을 사용할 수 있습니다.

#!/bin/bash
task1 &
task2 &
task3 &
wait
echo done

이 예에서 스크립트는 세 가지 백그라운드 작업을 시작합니다. 이는 백그라운드에서 동시에 실행되며 wait세 가지 작업이 모두 완료될 때까지 기다립니다. 반환된 후 wait스크립트는 계속해서 처리됩니다 echo done.


주석에서 지적한 대로 wait작업 번호( wait %3) 또는 pid( wait 1234)를 지정할 수 있습니다. 대화형 bash( job또는 사용)에서는 이를 쉽게 찾을 수 있지만 ps배치 모드에서는 더 어려울 수 있습니다.

관련 정보