學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

linux shell wait命令詳解

時(shí)間: 佳洲1085 分享

  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命令詳解

時(shí)間: 佳洲1085 分享

  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命令詳解

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)
推薦度:
點(diǎn)擊下載文檔文檔為doc格式
3575337