curl多執行緒批量請求
阿新 • • 發佈:2019-02-14
測試經常遇到檢視大資料量URL請求是否正常。單執行緒跑的太慢
可以自定義執行緒數進行跑,細節不多說,其實我也是上網上湊的,拿下來修修改改能用即可。
#!/bin/bash ttime=`date +"%Y-%m-%d %H:%M:%S"` #允許的執行緒數 THREAD_NUM=5 #定義描述符為9的管道 mkfifo tmp exec 9<>tmp #預先寫入指定數量的換行符,一個換行符代表一個程序 for((i=0;i<$THREAD_NUM;i++)) do echo -ne "\n" 1>&9 done if [ $# -ne 1 ] then echo "The parameters you enter is not correct!"; exit -1; fi while read line do { #程序控制 read -u 9 { isok=`curl -I -o /dev/null -s -w %{http_code} $line` if [ $isok = "200" ];then echo $line "OK" else echo $line "no" fi echo -ne "\n" 1>&9 }& } done <$1 wait echo "執行結束" rm -rf tmp