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

参见

  • 等待 (系统调用)

外部链接

文件系統
  • cat
  • cd
  • chmod
  • chown
  • chgrp
  • cksum
  • cmp
  • cp
  • dd
  • du
  • df
  • file
  • fsck
  • fuser
  • ln
  • ls
  • mkdir
  • mount
  • mv
  • pax英语pax (Unix)
  • pwd
  • rm
  • rmdir
  • size
  • split
  • stat
  • tee
  • touch
  • type英语type (Unix)
  • umask英语umask
程序
  • at
  • bg
  • chroot
  • cron
  • fg
  • kill
  • killall英语killall
  • nice
  • pgrep
  • pkill英语pkill
  • ps
  • pstree英语pstree
  • time
  • top
用户环境
  • clear
  • env
  • exit
  • history英语history (Unix)
  • id
  • logname
  • mesg英语mesg
  • passwd
  • su
  • sudo
  • uptime
  • talk英语talk (software)
  • tput英语tput
  • uname
  • w
  • wall英语wall (Unix)
  • who
  • whoami
  • write英语write (Unix)
文本编辑
  • awk
  • banner英语banner (Unix)
  • basename
  • comm英语comm
  • csplit英语csplit
  • cut
  • diff
  • dirname
  • ed
  • ex
  • fmt英语fmt
  • fold英语fold (Unix)
  • head英语head (Unix)
  • iconv
  • join英语join (Unix)
  • less
  • more
  • nl英语nl (Unix)
  • paste英语paste (Unix)
  • sed
  • sort英语sort (Unix)
  • spell英语spell (Unix)
  • strings英语strings (Unix)
  • tail
  • tr
  • uniq英语uniq
  • vi
  • wc
  • xargs
壳层内建
网络
查找
文档
  • apropos英语apropos (Unix)
  • help英语help (command)
  • man
软件开发
杂项
  • bc
  • cal
  • dc
  • expr
  • lp英语lp (Unix)
  • lpr
  • sleep
  • true和false
  • yes