デフォルトの動作と比較して、「-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)され、実行が完了するのを待ちます。

関連情報