wait (命令)

計算機技術中,wait是一個命令,可以暫停當前會話,直至後台進程執行完畢。

用法

 wait [n]

其中n是當前正在執行的後台進程的pid,或工作的工作ID。如果沒有給定n,命令會等待shell調用的所有工作終止。

wait一般返回最後一個工作的退出狀態。如果n所指的工作不存在,或沒有工作要等待,它會返回127。

因為wait需要知道當前shell執行環境的工作表,它通常為shell內建命令

範例

當腳本後部分要求前部分成功執行,此命令可以讓前部分並行執行,以節省時間。

下面是一個例子,使用rsync獲取iona上的src/目錄,同時更新這個程序所依賴的庫,然後組合編譯。

#!/usr/bin/env bash

# 使用wait命令的并行更新脚本

# 更新本地副本
rsync iona:src/ . &
# 升级所需的库,或如果出于某种原因失败时,返回1并退出
make -C lib || exit 1

# 等待rsync终止(可能已启动),并完成工作,除非rsync失败
wait && make

等待指定的工作控制id號:

$ ls -R / > /dev/null 2>&1 & # 启动长时间运行的后台进程
[2] 1986
$ wait %2 # 等待2号后台工作终止,然后返回

參見

外部連結