高并发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强制终止程序运行;可能命令无法生效,可以再开一个终端输入如下命令强制终止:
当执行./ip.sh,再开一个终端,使用如下命令可查询并发进程ID
pgrep -af "ip.sh"使用
kill命令终止所有这些进程:pkill -9 -f "ip.sh"#这样可以一次性终止所有与特定脚本相关的进程,双引号“”的内容替换为自己的脚本名字(注意脚本文件所在路径是当前路径,如果不在当前路径,使用绝对路径
例:pkill -9 -f "/home/xiumo/Desktop/ip.sh"
简单的事情简单化,复杂的事情也简单化,让运行更高效
相关文章:
高并发ping多台主机IP
简介 社区或者是大型公司往往有成千上万或者几百台设备,保持设备始终在线对网络运维人员来说至关重要,然而一个一个登录检查,或者一个一个ping并不明智,累人且效率极低,并出错率高。花钱买检测服务当我没说。 shell编…...
03 Linux 内核数据结构
Linux kernel 有四种重要的数据结构:链表、队列、映射、二叉树。普通驱动开发者只需要掌握链表和队列即可。 链表和队列 Linux 内核都有完整的实现,我们不需要深究其实现原理,只需要会使用 API 接口即可。 1、链表 链表是 Linux 内核中最简单、最普通的数据结构。链表是一…...
关于软件调用独显配置指引【笔记】
关于笔记本电脑不支持独显直连的,bios下也是没有切换独显直连的选项的,处理方法 简单的来说按照图片指引可配置让软件调用独显: 1、进入系统→屏幕→显示卡界面; 2、【添加应用】浏览需要调用独显的软件安装目录,并打开…...
正大国际期货:什么是主力合约?
一个期货品种,在同一时间段,会上市多个月份的合约, 由于主力合约交易量大,流动性高,一般建议新手交易主力合约。 主力合约通常指交易集中,流动性好的合约 ,即在一段时间内交易量和持仓量最大的…...
codeforces round 949 div2
A Turtle and Piggy Are Playing a Game 题目: 思路:输出2的幂次b使得2^b为最大的不超过x的数 代码: #include <iostream>using namespace std;const int N 2e5 10;void solve() {int l, r;cin >> l >> r;if(r % 2) …...
分享美好,高清无阻 - 直播极简联网解决方案
1、需求背景 随着移动互联网、UGC模式和直播平台的发展,网络直播的门槛日益降低,越来越多的人希望成为直播的主角。基于物联网的户外直播无线联网解决方案应运而生,满足直播者的需求。 户外直播无线联网解决方案提供了无处不在的直播体验&a…...
贪心算法-加油站
一、题目描述 二、解题思路 1.运动过程分析 这里需要一个油箱剩余油量的变量resGas,初始化resGas0;还需要一个标记从什么位置当做初始位置的startIdx,初始化startIdx0。 我们从数组下标idx0处开始向后遍历,初始时startIdx0&#…...
【ArcGIS微课1000例】0116:将度-分-秒值转换为十进制度值(字段计算器VBA)
相关阅读:【ArcGIS微课1000例】0087:经纬度格式转换(度分秒转度、度转度分秒) 文章目录 一、计算方法二、计算案例一、计算方法 将度分秒转换为十进制度的简单等式: DD = (Seconds/3600) + (Minutes/60) + Degrees如果角度值是负数,则转换方法不同。其中一种方法是: …...
【中国开源生态再添一员】天工AI开源自家的Skywork
刚刚看到《AI高考作文出圈,网友票选天工AI居首》,没想到在Huggingface中发现了Skywork大模型。天工大模型由昆仑万维自研,是国内首个对标ChatGPT的双千亿级大语言模型,天工大模型通过自然语言与用户进行问答式交互,AI生…...
【机器学习300问】109、什么是岭回归模型?
在进行回归任务时间,可以能会遇到特征数量多于观测数量或某些特征变量之间相关性较高(几乎线性相关)时,标准的线性回归模型的系数估计可能非常不精确,可以理解成独立方程个数小于未知数个数此时方程有无穷多解。 例如&…...
FJSP:烟花算法(FWA)求解柔性作业车间调度问题(FJSP),提供MATLAB代码
一、烟花算法介绍 参考文献: Tan, Y. and Y. Zhu. Fireworks Algorithm for Optimization. in Advances in Swarm Intelligence. 2010. Berlin, Heidelberg: Springer Berlin Heidelberg. 二、烟花算法求解FJSP 2.1FJSP模型介绍 柔性作业车间调度问题(Flexible …...
C++11 列表初始化(initializer_list),pair
1. {} 初始化 C98 中,允许使用 {} 对数组进行初始化。 int arr[3] { 0, 1, 2 };C11 扩大了 {} 初始化 的使用范围,使其可用于所有内置类型和自定义类型。 struct Date {int _year;int _month;int _day;Date(int year, int month, int day):_year(year…...
Python3 笔记:字符串的 startswith() 和 endswith()
1、startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定了值,则在指定范围内检查。 语法:str.startswith(substr, beg0,endlen(string)) 参数: s…...
Web前端安全问题分类综合以及XSS、CSRF、SQL注入、DoS/DDoS攻击、会话劫持、点击劫持等详解,增强生产安全意识
前端安全问题是指发生在浏览器、单页面应用、Web页面等前端环境中的各类安全隐患。Web前端作为与用户直接交互的界面,其安全性问题直接关系到用户体验和数据安全。近年来,随着前端技术的快速发展,Web前端安全问题也日益凸显。因此,…...
1.单选题 (2分)下列关于脚本的说法不正确的是( )。本题得分: 2分正确答案: A2.单选题 (2分)软件测试自动化的局限性不包含( )。本题得分: 2分
1.单选题 (2分) 下列关于脚本的说法不正确的是( )。 A 线性脚本是最复杂的脚本 B 结构化脚本具有较好的可读性、可重用性,易于维护 C 关键字驱动脚本在开发时,不关心基础函数,直接使用已定义好的关键字 D 数据驱动脚本将测试脚本和数据进行分离,同一个脚本可以针对不同的输…...
【Docker系列】跨平台 Docker 镜像构建:深入理解`--platform`参数
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
力扣1248.统计优美子数组
力扣1248.统计优美子数组 同930. 哈希表法 求前缀和 class Solution {public:int numberOfSubarrays(vector<int>& nums, int k) {int n nums.size();unordered_map<int,int> cnt;int res0,sum0;for(int i0,j0;i<n;i){cnt[sum] ;if(nums[i] & 1) …...
AI2THOR 2.1.0使用教程
一、安装和入门 1.1 AI2-THOR使用要求 操作系统: Mac OS X 10.9, Ubuntu 14.04显卡:DX9(着色器型号 3.0)或 DX11,功能级别为 9.3。CPU:支持 SSE2 指令集。Python 2.7 或 Python 3.5Linux 用户…...
在Nginx中配置php程序环境。
1、前言。 我一开始是想 搭建 Tomcat PHP 环境。 Tomcat并不能直接运行PHP,因为Tomcat是一个Java Web服务器,主要用于运行Java应用程序。但是,我们可以通过一些配置和工具来使Tomcat能够运行PHP。 在配置Tomcat支持PHP 项目的时…...
!力扣70. 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 1. 递归(超时) class Solution { public:int climbStairs(int n) {if(n1){return 1;}if(n2){return 2;}return climbStairs…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...
门静脉高压——表现
一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构:由肠系膜上静脉和脾静脉汇合构成,是肝脏血液供应的主要来源。淤血后果:门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血,引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...
GraphRAG优化新思路-开源的ROGRAG框架
目前的如微软开源的GraphRAG的工作流程都较为复杂,难以孤立地评估各个组件的贡献,传统的检索方法在处理复杂推理任务时可能不够有效,特别是在需要理解实体间关系或多跳知识的情况下。先说结论,看完后感觉这个框架性能上不会比Grap…...
二叉树-144.二叉树的前序遍历-力扣(LeetCode)
一、题目解析 对于递归方法的前序遍历十分简单,但对于一位合格的程序猿而言,需要掌握将递归转化为非递归的能力,毕竟递归调用的时候会调用大量的栈帧,存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧,而非…...
项目进度管理软件是什么?项目进度管理软件有哪些核心功能?
无论是建筑施工、软件开发,还是市场营销活动,项目往往涉及多个团队、大量资源和严格的时间表。如果没有一个系统化的工具来跟踪和管理这些元素,项目很容易陷入混乱,导致进度延误、成本超支,甚至失败。 项目进度管理软…...
Modbus转Ethernet IP深度解析:磨粉设备效率跃升的底层技术密码
在建材矿粉磨系统中,开疆智能Modbus转Ethernet IP网关KJ-EIP-101的应用案例是一个重要的技术革新。这个转换过程涉及到两种主要的通信协议:Modbus和Ethernet IP。Modbus是一种串行通信协议,广泛应用于工业控制系统中。它简单、易于部署和维护…...
