首页/系统/Linux 运维命令速查/wait 等待进程结束
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条
进程与作业69 条
磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

wait 等待进程结束

等待后台进程/作业结束再继续:wait $! 等最近一个、wait PID 等指定、无参等全部;脚本串行编排的粘合剂。

Linux 运维命令速查系统更新于 2026-10-12
用途等待后台进程退出
语法wait [PID|%作业号]
要点无参数等待当前所有子进程;返回码为被等进程的退出码

常用示例

常用示例
sleep 5 & pid=$!
wait $pid && echo done
# 并行启动三个任务再等全部:
for i in 1 2 3; do ./job$i.sh & done
wait
echo all finished
wait $pid || true      # set -e 脚本里防误杀
wait 只能等自己的子进程:别的会话/服务拉起的进程等不了。

易错点

  • set -e 时 wait 返回非零会直接退出脚本:显式接住(wait $pid || true)
  • 等错对象:$! 只保存最近一个后台 PID,多个任务时逐个记录

数据来源与参考

  • man 1 bash(SHELL BUILTIN COMMANDS 章节)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌