濮阳杆衣贸易有限公司

主頁 > 知識庫 > Shell腳本模擬多線程功能分享

Shell腳本模擬多線程功能分享

熱門標(biāo)簽:佛山高德地圖標(biāo)注中心 旅游地圖標(biāo)注大全 百度地圖的地圖標(biāo)注 杭州機(jī)器人外呼系統(tǒng) 地圖標(biāo)注超出范圍怎么辦 陜西電銷卡外呼系統(tǒng)怎么安裝 東莞電銷機(jī)器人價(jià)格一覽表 百度地圖標(biāo)注圖標(biāo)更換 excel地址地圖標(biāo)注

復(fù)制代碼 代碼如下:

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

說明:{} 這部分語句被放入后臺作為一個(gè)子進(jìn)程執(zhí)行,這部分幾乎是同時(shí)完成的,當(dāng)fifo中10個(gè)空行讀完后 while循環(huán)
繼續(xù)等待 read 中讀取fifo數(shù)據(jù),當(dāng)后臺的10個(gè)子進(jìn)程后,按次序排隊(duì)往fifo輸入空行,這樣fifo中又有了數(shù)據(jù),for語句繼續(xù)執(zhí)行。

您可能感興趣的文章:
  • Shell多線程操作及線程數(shù)控制實(shí)例

標(biāo)簽:朝陽 南充 通遼 青島 雅安 延邊 隨州 西藏

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell腳本模擬多線程功能分享》,本文關(guān)鍵詞  Shell,腳本,模擬,多,線程,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Shell腳本模擬多線程功能分享》相關(guān)的同類信息!
  • 本頁收集關(guān)于Shell腳本模擬多線程功能分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    剑阁县| 天门市| 双辽市| 红原县| 大渡口区| 介休市| 阿瓦提县| 陇南市| 项城市| 阿尔山市| 兰坪| 石狮市| 榕江县| 巩义市| 乌苏市| 柘荣县| 江北区| 四子王旗| 谷城县| 海口市| 渭南市| 湘西| 新营市| 瓦房店市| 吉安县| 仙桃市| 吉水县| 垣曲县| 乌海市| 三穗县| 安仁县| 嘉兴市| 乌鲁木齐市| 永修县| 政和县| 阿巴嘎旗| 开阳县| 清河县| 建平县| 苏尼特右旗| 晋宁县|