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
与 default 相比做什么wait $pid
?在什么条件下-f
需要该选项?
更改描述是准确的,但有些模糊,因为
wait
通常被认为是等待进程完成。尝试这个:
然后在另一个终端,
替换
${pid}
为sleep
的 pid (作为将其置于后台时的输出)。wait
将退出,因为作业的状态已更改。使用
-f
,wait
将等待作业或进程真正终止;在上面使用时,它不会以 退出,而是kill -STOP
等待进程恢复 (kill -CONT
) 并完成运行。