Linux 命令:wait —— 等待后台进程执行完毕

本文详细讲解 Linux 中wait命令的用法、语法、参数、示例及注意事项,适用于 Shell 脚本并发控制、进程同步场景。


1. 命令简介

wait命令是 Bash 和其他类 Unix Shell 的内置命令,用于等待一个或多个后台进程执行完毕,并返回其退出状态。它主要用于 Shell 脚本编程中,以实现进程间的同步,确保指定的后台任务完成后,脚本才会继续执行后续操作。


2. 语法格式

bash

运行

wait [-n] [id ...]

参数说明

  • id:可选参数,指定要等待的作业标识符(Job ID)或进程标识符(Process ID, PID)。如果未提供任何 id,则wait会等待所有当前 Shell 已知的后台子进程完成。
  • -n:选项(Bash 4.3 及以上版本支持),等待任何一个指定的后台作业完成(或如果未指定作业,则等待任意一个后台作业完成),并立即返回其退出状态。

作业标识符格式

  • %n:作业号 n,例如%1表示作业号为 1 的作业。
  • %string:以指定字符串开头的作业命令。
  • %?string:命令中包含指定字符串的作业。
  • %+%%:当前作业(最近一个被置于后台的作业)。
  • %-:前一个作业。

3. 常用选项及说明

表格

选项