高并发ping多台主机IP

简介

社区或者是大型公司往往有成千上万或者几百台设备,保持设备始终在线对网络运维人员来说至关重要,然而一个一个登录检查,或者一个一个ping并不明智,累人且效率极低,并出错率高。花钱买检测服务当我没说。

shell编程无处不在。

代码

ip.sh

#!/bin/bash
for i in {2..254}
do
for p in {2..254}
do{ip=192.168.$i.$pping -c1 -W1 $ip &>/dev/nullif [ $? -ne 0 ];thenecho "$ip" | tee -a ip.txtelseecho "$ip" >> successIP.txtfi
} &
done
done
wait
echo "command execution completed"

效果

bash ./ip.sh

终端显示ping失败的IP地址

内容太长,使用more ip.txt可显示一部分

ip.txt内容

ping成功的ip地址会输出到“successIP.txt”文本中

模拟的IP,就不展示了

说明

 代码共18行336字节,使用双for循环,替换C类内网IP192.168.*.*,-c1参数选项只ping一次,-W1参数选项只等待1s,ping的结果不显示,丢弃到字符设备文件null中,失败的IP地址使用| tee命令双向重定向到终端和ip.txt文本中,ping成功的ip地址使用追加重定向命令>>追加到successIP.txt文件中。

优化:代码设计使用双for循环,控制192.168后两个网段的可变数字,用变量i和p替代,使用集合将可变数字添加;使用一条if语句逻辑判断失败和成功结果,并将结果保存在txt格式文档中;使用"{} &"将if语句囊括在内,让程序在后台并发;使用wait命令等待程序所有ping都结束,打印最终的结果;

tips

大家可以试试动手运行下,中途停止运行可以在当前终端使用Ctrl键+Z强制终止程序运行,或者Ctrl+C强制终止程序运行;可能命令无法生效,可以再开一个终端输入如下命令强制终止:

  1. 当执行./ip.sh,再开一个终端,使用如下命令可查询并发进程ID

    pgrep -af "ip.sh"
    
  2. 使用 kill 命令终止所有这些进程:

    pkill -9 -f "ip.sh"
    

#这样可以一次性终止所有与特定脚本相关的进程,双引号“”的内容替换为自己的脚本名字(注意脚本文件所在路径是当前路径,如果不在当前路径,使用绝对路径

例:pkill -9 -f "/home/xiumo/Desktop/ip.sh"

 简单的事情简单化,复杂的事情也简单化,让运行更高效

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/25163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K210视觉识别模块学习笔记5:(嘉楠)训练使用模型_识别人脸

今日开始学习K210视觉识别模块:(嘉楠)训练与使用模型_识别人脸 亚博智能的K210视觉识别模块...... 固件库版本: canmv_yahboom_v2.1.1.bin 之前的训练网址部署模型时需要我们自己更换固件,而且还不能用亚博的图像操作库函数了,这十分不友好&#xff0…

Web前端从什么学起:探索前端世界的起点与路径

Web前端从什么学起:探索前端世界的起点与路径 在数字化浪潮席卷而来的今天,Web前端技术作为构建用户界面的核心力量,日益受到人们的关注。对于初学者来说,Web前端的学习旅程可能充满了未知与挑战。那么,Web前端究竟应…

liunx查看日志

tail查看日志 tail 查看文件的末尾部分 -f 实时监控日志文件的更新,如果有新的日志将会实时显示 -n 查看日志的后n行 tail -fn 100 filename.log // 实时查看filename.log的最后100行head查看日志 head 查看日志的头部 -n 指定查看行数 head -n 100 filename.log…

vue 使用 Vxe UI vxe-print 实现复杂的 Web 打印,支持页眉、页尾、分页的自定义模板

Vxe UI vue 使用 Vxe UI vxe-print 实现复杂的 Web 打印,支持页眉、页尾、分页的自定义模板 官方文档 https://vxeui.com 查看 github、gitee 页眉-自定义标题 说明:vxe-print-page-break标签用于定义分页,一个标签一页内容,超…

c语言基础篇B

B1.数据的输入与输出 c语言本身不提供输入输出语句,输入和输出操作是由c函数库中的函数来实现的在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中 include"stdio.h"或者include B2.printf()函数&#x…

Python怎么分开画图:深入探索与实战应用

Python怎么分开画图:深入探索与实战应用 在Python的数据可视化领域,分开画图是一项至关重要的技能。它能够帮助我们更清晰、更有条理地展示数据,进而发现数据中的规律和趋势。本文将从四个方面、五个方面、六个方面和七个方面,详…

YOLOv5改进 | 主干网络 | 用SimRepCSP作为主干网络提取特征【全网独家 + 降本增效】

💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 SimRepCSP 类似于 YOLOv7的主干网络,由卷积模块和重参数化卷积(RepConv)模块组合而成,以 Cro…

WPF Command 的使用

一、Command类的创建 >> 构造函数方法中传入了一个委托 public class MyCommand : ICommand { public readonly Action _action; public MyCommand(Action action) { this._action action; } public event EventHandler CanExecuteChanged;…

学习使用 Frida 过程中出现的问题

一、adb shell命令报错:error: no devices found 目前该问题解决方法仅供参考,可先看看再选择试试!!!!! 查看此电脑也会发现没有出现手机型号文件夹。 第一步: 检查一下手机开了u…

谷神后端代码模板:导入

SELECT NULL AS MID,NULL AS FILE_NAME,NULL AS FILE_PATH FROM DUAL;

【打印100个常用Linux命令】

#!/bin/bash 定义一个函数,用于打印100个常用Linux命令 print_commands() { echo “以下是一些常用的Linux命令:” echo “----------------------------------” echo “1. pwd - 显示当前工作目录” echo “2. ls - 列出当前目录下的文件和文件夹” …

qmt量化交易策略小白学习笔记第16期【qmt编程之获取北向南向资金(沪港通,深港通和港股通)】

qmt编程之获取北向南向资金 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 ! 北向南向资金(沪港通,深港通和港股通) #北向南向资金交易日历 获取交易日列表…

【CentOS 7】CentOS 7极致指南:高级部署PyCharm 2022.3.3专业版,实现定制化配置与无缝桌面集成

【CentOS 7】CentOS 7极致指南:高级部署PyCharm 2022.3.3专业版,实现定制化配置与无缝桌面集成 大家好 我是寸铁👊 总结了一篇CentOS 7极致指南:高级部署PyCharm 2022.3.3专业版,实现定制化配置与无缝桌面集成✨ 喜欢的…

线性代数|机器学习-P10最小二乘法的四种方案

文章目录 1. 概述2. SVD奇异值分解3. 最小二乘法方程解4. 最小二乘法图像解释5. Gram-Schmidt 1. 概述 当我们需要根据一堆数据点去拟合出一条近似的直线的时候,就会用到 最小二乘法 .根据矩阵A的情况,有如下四种方法 在r n m 时,SVD奇异…

Day16—API爬取与数据整合

在网络爬虫的领域,API(应用程序编程接口)提供了一种更为直接和高效的方式来获取数据。与直接从网页内容中提取数据相比,API通常提供更结构化、更易于解析的数据格式。 1. API爬取的优势 速度:API请求通常比网页加载更快,因为它们返回的是数据本身,而不是包裹数据的HTML…

计算机网络-数制转换与子网划分

目录 一、了解数制 1、计算机的数制 2、二进制 3、八进制 4、十进制 5、十六进制 二、数制转换 1、二进制转十进制 2、八进制转十进制 3、十六进制转十进制 4、十进制转二进制 5、十进制转八进制 6、十进制转十六进制 三、子网划分 1、IP地址定义 2、IP的两种协…

Web前端初级考证:探索与征服数字世界的初始之旅

Web前端初级考证:探索与征服数字世界的初始之旅 在数字浪潮席卷而来的今天,Web前端技术成为了连接现实与虚拟的桥梁。对于初学者而言,通过Web前端初级考证,不仅是对自身技能的检验,更是迈向更高层次的关键一步。本文将…

【NetTopologySuite类库】C#生成带约束(线、面)的Delaunay三角网

介绍 API地址:https://nettopologysuite.github.io/NetTopologySuite/api/NetTopologySuite.Triangulate.ConformingDelaunayTriangulationBuilder.html#NetTopologySuite_Triangulate_ConformingDelaunayTriangulationBuilder_Constraints 约束为线 效果图 红色…

经典文献阅读之--P2O-Calib(利用点对空间遮挡关系的相机-激光雷达标定)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务,并且需要GPU资源,可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU,按时收费每卡2.6元,月卡只需要1.7元每小时&…

整除及求余运算符、数字的提取、顺序结构程序

1.运算符 在有余数的除法运算中,如果要知道商和余数分别是多少,可以用/和%这两个运算符号来得到。 (1)/(整除),当被除数和除数均为整数时,结果也为整型,只取商的整数部分。 如:10/25 10/33 5/10 0 (2)%(求余)&…