linux shell wait命令詳解
wait命令是linux下的一個(gè)命令,那么它的語(yǔ)法和用途是什么呢?下面由學(xué)習(xí)啦小編為大家整理了linux shell wait命令的相關(guān)知識(shí),希望大家喜歡!
linux shell wait命令
wait命令介紹
wait [作業(yè)指示或進(jìn)程號(hào)]
1.等待作業(yè)號(hào)或者進(jìn)程號(hào)制定的進(jìn)程退出,返回最后一個(gè)作業(yè)或進(jìn)程的退出狀態(tài)狀態(tài)。如果沒有制定參數(shù),則等待所有子進(jìn)程的退出,其退出狀態(tài)為0.
2.如果是shell中等待使用wait,則不會(huì)等待調(diào)用函數(shù)中子任務(wù)。在函數(shù)中使用wait,則只等待函數(shù)中啟動(dòng)的后臺(tái)子任務(wù)。
3.在shell中使用wait命令,相當(dāng)于高級(jí)語(yǔ)言里的多線程同步。
語(yǔ)法
wait(參數(shù))
參數(shù)
進(jìn)程或作業(yè)標(biāo)示:指定進(jìn)程號(hào)或者作業(yè)號(hào)。
實(shí)例
1.使用wait等待所有子任務(wù)結(jié)束。
[plain] view plain copy#!/bin/bash
sleep 10 &
sleep 5&
wait #等待10秒后,退出
[plain] view plain copy#!/bin/bash
sleep 10 &
sleep 5&
wait $! #$!表示上個(gè)子進(jìn)程的進(jìn)程號(hào),wait等待一個(gè)子進(jìn)程,等待5秒后,退出
2.在函數(shù)中使用wait
[plain] view plain copy#!/bin/bash
source ~/.bashrc
fun(){
echo "fun is begin.timeNum:$timeNum"
local timeNum= class="main">
linux shell wait命令詳解
sleep $timeNum &
wait #這個(gè)只等待wait前面sleep
echo "fun is end.timeNum:$timeNum"
}
fun 10 &
fun 20 &
wait #如果fun里面沒有wait,則整個(gè)腳本立刻退出,不會(huì)等待fun里面的sleep
echo "all is ending"
輸出結(jié)果為:
[plain] view plain copyfun is begin.timeNum:10
fun is begin.timeNum:20
fun is end.timeNum:10
fun is end.timeNum:20
all is ending
從輸出結(jié)果,可以看到,整個(gè)腳本,等待了所有子任務(wù)的退出
linux shell wait命令詳解
熱門文章
-
linuxnginx啟動(dòng)命令行
linux下ping命令有哪些用法
Linux中useradd命令有什么用使用教程
Linux下卸載MySQL數(shù)據(jù)庫(kù)方法命令介紹
修改linux系統(tǒng)默認(rèn)啟動(dòng)級(jí)別方法命令是什么
Linux中用rename命令批量替換文件名方法是什么
Linux chmod命令修改文件與文件夾權(quán)限使用教程
Linux下查看指定文件夾和文件的大小用什么命令
linux shell命令行選項(xiàng)與參數(shù)有哪些怎么用
Linux系統(tǒng)下中命令行中實(shí)現(xiàn)Wifi連接的方法