亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Shell?腳本自動輸入密碼的三種方式小結

    Shell?腳本自動輸入密碼的三種方式小結

    本文主要介紹了Shell?腳本自動輸入密碼的三種方式小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • Shell腳本如何逐行處理文本文件

    Shell腳本如何逐行處理文本文件

    這篇文章主要給大家介紹了關于Shell腳本如何逐行處理文本文件的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Shell常用服務器日志分析命令總結

    Shell常用服務器日志分析命令總結

    有時我們需要分析分析自己網站服務器日志,看看網站的訪問量??纯从袥]有黑闊搞破壞!于是收集,整理一些服務器日志分析命令,大家可以試試
    2022-06-06
  • Linux 怎么實現(xiàn)添加FTP用戶并設置權限的方法

    Linux 怎么實現(xiàn)添加FTP用戶并設置權限的方法

    這篇文章主要介紹了Linux 怎么實現(xiàn)添加FTP用戶并設置權限的方法的相關資料,這里對添加FTP用戶進行了步驟詳解,需要的朋友可以參考下
    2017-01-01
  • Shell中exit和return的區(qū)別講解

    Shell中exit和return的區(qū)別講解

    今天小編就為大家分享一篇關于,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • shell腳本實現(xiàn)拷貝大文件顯示百分比的代碼分享

    shell腳本實現(xiàn)拷貝大文件顯示百分比的代碼分享

    這篇文章主要介紹了shell腳本實現(xiàn)拷貝大文件顯示百分比的代碼分享,需要的朋友可以參考下
    2014-08-08
  • awk腳本統(tǒng)計一組單詞中字母出現(xiàn)最多最少頻率

    awk腳本統(tǒng)計一組單詞中字母出現(xiàn)最多最少頻率

    這篇文章主要介紹編寫一個 awk 腳本來找到一組單詞中出現(xiàn)次數(shù)最多(和最少)的單詞頻率,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • shell批量curl接口腳本的簡單實現(xiàn)方法

    shell批量curl接口腳本的簡單實現(xiàn)方法

    這篇文章主要跟大家介紹了關于shell批量curl接口腳本的簡單實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用shell具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-08-08
  • Linux nc命令使用示例

    Linux nc命令使用示例

    nc是netcat的簡寫,是一個功能強大的網絡工具,有著網絡界的瑞士軍刀美譽,nc命令在linux系統(tǒng)中實際命令是ncat,nc是軟連接到ncat,這篇文章主要介紹了Linux nc命令使用示例,需要的朋友可以參考下
    2023-03-03
  • shell腳本的流程控制語句的實現(xiàn)

    shell腳本的流程控制語句的實現(xiàn)

    本文主要介紹了shell腳本的流程控制語句的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08

最新評論