1.wait介绍
linux命令wait含义为停止脚本的运行,, 直到后台运行的所有作业都结束为止, 或者如果传递了作业号或进程号为参数的话, 那么就直到指定作业结束为止. 返回等待命令的退出状态码
你可以使用wait命令来防止在后台作业没完成(这会产生一个孤儿进程)之前退出脚本
2.wait用法
wait 作业号[进程号]
3.wait样例
wait.sh代码
#!/bin/bash
ROOT_UID=0
E_NOTROOT=65
E_NOPARAMS=66
if [ "$UID" -ne "$ROOT_UID" ];then
echo "Must be root to run this script."
exit $E_NOTROOT
fi
if [ -z "$1" ];then
echo "Usage: `basename $0` find-string"
exit $E_NOPARAMS
fi
echo "Updating 'locate' database..."
echo "This may take a while."
updatedb &
wait
#将不会继续向下运行, 除非'updatedb'命令执行完成.
#你希望在查找文件名之前更新database.
locate $1
#如果没有'wait'命令的话, 而且在比较糟的情况下,
#脚本可能在'updatedb'命令还在运行的时候退出,
#这将会导致'updatedb'成为一个孤儿进程.
exit 0
wait.sh运行
[root@kibana ~]# sh wait.sh
Usage: wait.sh find-string
[root@kibana ~]# sh wait.sh case.sh
Updating 'locate' database...
This may take a while.
/root/case.sh
/usr/local/kibana-7.11.1/x-pack/plugins/case/server/scripts/get_case.sh
/usr/local/kibana-7.11.1/x-pack/plugins/case/server/scripts/post_case.sh
[root@kibana ~]#