기본 동작과 비교하여 "-f" 옵션은 "대기"를 위해 무엇을 합니까?

기본 동작과 비교하여 "-f" 옵션은 "대기"를 위해 무엇을 합니까?

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)되고 실행이 완료될 때까지 기다립니다.

관련 정보