最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell wait等待命令的具體使用

 更新時間:2023年01月12日 10:17:38   作者:ghostwritten  
本文主要介紹了shell wait等待命令的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1. 簡介

bash wait 命令是一個 Shell 命令,它等待后臺運行的進程完成并返回退出狀態(tài)。與等待指定時間的sleep 命令不同,該wait命令等待所有或特定后臺任務完成。

2. 語法

在 bash 腳本中使用wait命令有不同的方法。下表解釋了每個用例。

命令解釋
wait如果沒有任何參數(shù),該wait命令會等待所有后臺進程完成,然后再繼續(xù)執(zhí)行腳本。
wait添加的 PID 或作業(yè) ID 會等待特定進程結束,然后再繼續(xù)執(zhí)行腳本。
wait -n僅等待以下后臺進程完成并返回退出狀態(tài)。
wait -f終止程序首先等待后臺任務完成后再退出。

3. 示例

3.1 等待命令

在 bash 腳本中使用wait時需要了解三個附加參數(shù):

1.&命令后的和號 ( ) 表示后臺作業(yè)。

2.$!獲取最后一個后臺進程的PID。使用多個后臺進程時,將先前的 PID 存儲在一個變量中。

3.$?打印上一個進程的退出狀態(tài)。

要查看這三個參數(shù)如何協(xié)同工作,請打開終端窗口并運行:

sleep 10 &
echo $!
echo $?

在這里插入圖片描述

$!參數(shù)存儲后臺進程PID,同時$?存儲退出狀態(tài)。退出狀態(tài)0表示命令成功完成。

3.2 單進程等待

首先打開終端并創(chuàng)建一個簡單的后臺進程:

sleep 10 &

確認作業(yè)在后臺運行:

jobs -l

使用wait不帶任何參數(shù)的命令暫停直到進程完成:

wait

在這里插入圖片描述

在這里插入圖片描述

10 秒后(由于sleep 10),控制臺打印完成消息。

3.3 單進程 bash 等待

使用該wait命令指示后臺進程必須在腳本內執(zhí)行的時間點。

例如,在文本編輯器中添加以下代碼:

#!/bin/bash
echo Background process &
echo First message
echo Second message
wait
echo Third message

如果后臺進程沒有完成第一個和第二個進程,則該wait命令調用暫停以等待第二個進程之后后臺進程完成,然后再繼續(xù)執(zhí)行第三個進程。

將腳本另存為single_process.sh。在終端中,更改權限以使腳本可執(zhí)行:

sudo chmod +x single_process.sh

運行腳本:

./single_process.sh

在這里插入圖片描述

后臺進程在命令之前的任何時間完成wait,并且腳本繼續(xù)。

3.4 多個進程等待

1.打開文本編輯器,添加以下多進程腳本:

#!/bin/bash
sleep 10 &
sleep 15 &
sleep 5 &
echo $(date +%T)
wait 
echo $(date +%T)

wait該腳本在命令之前和之后打印當前時間。沒有任何參數(shù),程序會等待所有進程完成。

將腳本另存為test.sh并關閉文件。接下來,使腳本可執(zhí)行:

sudo chmod +x test.sh

最后,運行程序:

./test.sh

在這里插入圖片描述

由于進程在后臺運行,所有三個進程都在十五秒內完成。

使用相同的腳本測試以下用例:

  • -n參數(shù)添加到<strong>wait</strong>. 只有最快的過程完成,腳本在十秒后結束。
  • 添加作業(yè) ID 以指示腳本應等待哪個作業(yè)。例如,wait %1暫停以等待進程 1 ( sleep 10) 完成。

3.5 多個進程 bash 等待 PID

與多個進程一起工作時,使用 PID 來標識一個進程。下面的示例腳本顯示了一個用例:

#!/bin/bash
echo "Process 1 lasts for 2s" && sleep 2 &
PID=$!
echo "Process 2 lasts for 3s" && sleep 3 &
echo "Current time $(date +%T)"
wait $PID
echo "Process 1 ended at time $(date +%T) with exit status $?"
wait $!
echo "Process 2 ended at time $(date +%T) with exit status $?"

將腳本另存為multi_wait.sh。使腳本可執(zhí)行:

sudo chmod +x multi_wait.sh

運行腳本查看輸出:

./multi_wait.sh

在這里插入圖片描述

該腳本需要兩秒鐘來完成第一個過程(由于sleep2)和三秒鐘來完成第二個過程。這兩個過程同時執(zhí)行,都在三秒內完成。

參考:

Bash wait Command with Examples

到此這篇關于shell wait等待命令的具體使用的文章就介紹到這了,更多相關shell wait內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Linux運維常用命令

    Linux運維常用命令

    這篇文章主要介紹了Linux在日常運維過程中需要經常用到的命令,非常的全面,有需要的小伙伴可以參考下
    2016-12-12
  • Linux消息隊列實現(xiàn)進程間通信實例詳解

    Linux消息隊列實現(xiàn)進程間通信實例詳解

    這篇文章主要介紹了Linux消息隊列實現(xiàn)進程間通信實例詳解的相關資料,需要的朋友可以參考下
    2017-07-07
  • awk中RS、ORS、FS、OFS的區(qū)別和聯(lián)系小結

    awk中RS、ORS、FS、OFS的區(qū)別和聯(lián)系小結

    這篇文章主要介紹了awk中RS、ORS、FS、OFS的區(qū)別和聯(lián)系小結,用大量實例來說明和講解,需要的朋友可以參考下
    2014-07-07
  • 使用AWK在shell中生成日歷小程序

    使用AWK在shell中生成日歷小程序

    這篇文章主要為大家詳細介紹了如何使用AWK在shell中生成日歷小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • linux系統(tǒng)下hosts文件詳解及配置

    linux系統(tǒng)下hosts文件詳解及配置

    hosts文件是Linux系統(tǒng)上一個負責ip地址與域名快速解析的文件,以ascii格式保存在/etc/目錄下。這篇文章主要介紹了linux系統(tǒng)下hosts文件詳解及配置的相關資料,需要的朋友可以參考下
    2016-10-10
  • Shell腳本實現(xiàn)自動修改IP地址

    Shell腳本實現(xiàn)自動修改IP地址

    這篇文章主要介紹了Shell腳本實現(xiàn)自動修改IP地址,本文直接給出實現(xiàn)代碼,并在代碼中標注大量注釋,需要的朋友可以參考下
    2014-10-10
  • virtualbox 中的linux 共享文件的方法

    virtualbox 中的linux 共享文件的方法

    這篇文章主要介紹了virtualbox 中的linux 共享文件的方法,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2017-01-01
  • shell腳本實現(xiàn)日歷的屏幕控制

    shell腳本實現(xiàn)日歷的屏幕控制

    這篇文章主要為大家詳細介紹了shell腳本實現(xiàn)日歷的屏幕控制,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Linux中的grep?-v、-e、-E用法小結

    Linux中的grep?-v、-e、-E用法小結

    grep是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來,這篇文章主要介紹了Linux之grep?-v、-e、-E用法總結,需要的朋友可以參考下
    2022-11-11
  • Shell實現(xiàn)批量操作文件的方法詳解

    Shell實現(xiàn)批量操作文件的方法詳解

    這篇文章主要為大家總結了一下Shell實現(xiàn)批量操作文件的命令,例如:查找某文件夾下指定文件所在的路徑、批量刪除某個文件夾下的指定文件,感興趣的可以了解一下
    2022-09-09

最新評論

淮南市| 花莲市| 玉门市| 休宁县| 潜江市| 县级市| 辽中县| 即墨市| 平南县| 东至县| 康保县| 松阳县| 潮安县| 峨眉山市| 同德县| 慈利县| 西乌珠穆沁旗| 措勤县| 安徽省| 奉节县| 康马县| 平乡县| 连州市| 荣成市| 桓仁| 诸暨市| 长武县| 平乡县| 屏山县| 衡东县| 石嘴山市| 恩平市| 安陆市| 建水县| 伊宁县| 涟源市| 安阳市| 都匀市| 宁南县| 屏边| 乌鲁木齐县|