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
)され、実行が完了するのを待ちます。