美文网首页
2020-05-11 多线程查看web服务器状态

2020-05-11 多线程查看web服务器状态

作者: 水泥中的鱼 | 来源:发表于2020-05-11 16:15 被阅读0次
#!/bin/bash
#允许的进程数
THREAD_NUM=200
#定义描述符为9的管道
mkfifo tmp
exec 9<>tmp
#预先写入指定数量的换行符,一个换行符代表一个进程
for ((i=0;i<$THREAD_NUM;i++))
do
    echo -ne "\n" 1>&9
done
if [ $# != 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 -m 5`
        if [ "$isok" = "200" ]; then
            echo $line "OK"
        else
            echo $line $isok
        fi
        echo -ne "\n" 1>&9
    }&
}
done < $1
wait
echo "执行结束"
rm tmp

# 版权归原作者所用,详细使参照连接,做少量轻微修改 https://www.jb51.net/article/51720.htm

实际测试好用300网站用时15秒,建议根据网络状态,修改 -m参数

ps 2020年6月1日08:50:36 后期做了修改,这个方式并发大的时候或者任务多的时候会bug,有时间了把新版的更新下。

相关文章

网友评论

      本文标题:2020-05-11 多线程查看web服务器状态

      本文链接:https://www.haomeiwen.com/subject/wvgunhtx.html