Bash 5.0에는 새로운 -f
옵션이 포함되어 있습니다 wait
:[1]
j. The `wait' builtin now has a `-f' option, which signfies to wait until the
specified job or process terminates, instead of waiting until it changes
state.
wait -f $pid
기본값과 비교하면 어떤 역할을 합니까 wait $pid
? 이 옵션은 어떤 조건에서 -f
필요합니까?
답변1
변경 사항에 대한 설명은 정확하지만 wait
일반적으로 믿어지는 것처럼 다소 모호합니다.프로세스가 완료될 때까지 기다리세요.
이 시도:
sleep 60&
wait %1
그런 다음 다른 터미널에서
kill -STOP ${pid}
${pid}
pid 로 대체됩니다 sleep
(백그라운드에 배치될 때 출력으로). wait
작업 상태가 변경되었으므로 종료됩니다.
를 사용하면 -f
작업 wait
이나 프로세스가 실제로 종료될 때까지 기다립니다. 위에서 사용하면 종료되지 않고 kill -STOP
프로세스가 다시 시작( kill -CONT
)되고 실행이 완료될 때까지 기다립니다.