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
배치 모드에서는 더 어려울 수 있습니다.