Linux shell脚本005(并发执行检测在线主机)

#!/bin/bash
trap "exec 1000>&-;exec 1000<&-;exit 0" 2
mkfifo testfifo
exec 1000<>testfifo
rm -fr testfifo

for ((n=1;n<=254;n++))   #可修改n的值,以减小并发量
do
    echo  >&1000
done

sta=`date "+%s"`
for ((i=1;i<=254;i++))
do
    read -u1000
    {
      ping -c 1 192.168.23.$i > /dev/null
      if [ $? -eq 0 ];then
          echo 192.168.23.$i >>ip_online
      else
          echo 192.168.23.$i >>ip_offline
      fi
    echo  >&1000
    }&
done
wait
end=`date "+%s"`
echo "TIME: `expr $end - $sta `"
exec 1000>&-
exec 1000<&-

知识点:
有名管道,后台运行,控制并发,ping格式
查看某网段在线的主机ip并输出运行时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值