中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何編寫Shell腳本模擬多線程功能

發布時間:2021-09-28 16:11:52 來源:億速云 閱讀:132 作者:iii 欄目:開發技術

這篇文章主要講解了“如何編寫Shell腳本模擬多線程功能”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何編寫Shell腳本模擬多線程功能”吧!

代碼如下:

#!/bin/bash
function pinghost {
ping $1 -c 1 -w 10 |grep rtt|cut -d “/” -f6
}
tmp_fifofile=”/tmp/$.fifo”   # 腳本運行的當前進程ID號作為文件名
mkfifo $tmp_fifofile         # 新建一個隨機fifo管道文件
exec 6<>$tmp_fifofile         # 定義文件描述符6指向這個fifo管道文件
rm $tmp_fifofile
thread=10
for ((i=0;i<$thread;i++));do   # for循環 往 fifo管道文件中寫入10個空行
echo
done >&6
while read domain
do
read -u6                  # 從文件描述符6中讀取行(實際指向fifo管道)
{
pinghost ${domain};      # 執行pinghost函數
echo >&6                      # 再次往fifo管道文件中寫入一個空行。
}&                                  # 放到后臺執行
done</home/miotour/ip.txt
wait                          #因為之前的進程都是后臺執行,因此要有wait來等待所有的進程都執行完畢后才算整個腳本跑完。
exec 6>&-                #刪除文件描述符6
exit 0

說明:{} 這部分語句被放入后臺作為一個子進程執行,這部分幾乎是同時完成的,當fifo中10個空行讀完后 while循環
繼續等待 read 中讀取fifo數據,當后臺的10個子進程后,按次序排隊往fifo輸入空行,這樣fifo中又有了數據,for語句繼續執行。

感謝各位的閱讀,以上就是“如何編寫Shell腳本模擬多線程功能”的內容了,經過本文的學習后,相信大家對如何編寫Shell腳本模擬多線程功能這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

保山市| 克山县| 和政县| 婺源县| 西峡县| 江川县| 新巴尔虎右旗| 广水市| 京山县| 左贡县| 西吉县| 浦县| 海盐县| 石柱| 龙岩市| 揭阳市| 航空| 徐闻县| 阿克陶县| 枝江市| 徐汇区| 肥乡县| 松溪县| 南岸区| 自治县| 邮箱| 宁乡县| 灌阳县| 报价| 婺源县| 阳新县| 尉氏县| 新龙县| 东安县| 淮北市| 图们市| 霍林郭勒市| 陇南市| 瑞丽市| 濮阳县| 新巴尔虎左旗|