您的位置:首页 > 运维架构 > Shell

bash 内置wait命令使用方法

2015-07-27 00:00 246 查看
摘要: shell 等待上一条命令执行结束

wait 是一个shell脚本文件,builtin用于执行shell内置的命令,而不使用PATH进行命令查找。

[ssk@localhost tmp]$ cat /usr/bin/wait

#!/bin/sh

builtin wait "$@"

wait命令只有一个参数,一个pid或者jobid,如果没有给出id,那么则等待所有当前活跃的子进程,并且返回值为0,注意必须是当前shell的子进程,等待一个不相关的进程是不行的。

#!/bin/bash

date +%s

sleep 3 &

echo "----done----"

date +%s

这样没有使用wait时,sleep语句不会阻塞下面命令的运行,运行结果如下:

1437986076

----done----

1437986076

加上wait命令之后,脚本如下:

#!/bin/bash

date +%s

sleep 3 &

wait

echo "----done----"

date +%s

运行结果如下:

1437986174

----done----

1437986177

可见wait命令等待sleep命令完成之后,才继续脚本的运行,这和不使用&来后台运行命令效果是一样的,sleep 同样会阻塞后面命令的运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: