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号后台工作终止,然后返回