很多时候针对许多台主机的在线检测,我们经常会用for循环去ping,但是非常慢,因为是一台一台主机的去ping。如果是同时启动N个进程去ping所有主机,那是不是很快了呢?对,shell多线程处理。

找个实例脚本:

  1. #!/bin/bash
  2. # By http://cto.luxiaok.com
  3. for i in $(seq 1 254)
  4. do
  5. {
  6. IP="172.16.8.$i"
  7. ping $IP -c1 -s1 2>&1 1>/dev/null && echo -e $IP is "\033[32;49;1malive\033[39;49;0m" || echo -e $IP is "\033[31;49;1mdown\033[39;49;0m"
  8. } &
  9. done
  10. wait

在RedHat Enterprise Linux 6.4 32bit平台测试效果展示:

这里也特意使用了echo的特效输出,比较美观一点。254个IP扫描很快,大概3秒左右。如果是大量的主机,那真的可以很高效的节约很多时间。这里的代码只是基于原理的最简单的测试应用,如果在实际生产环境中,就仁者见仁智者见智了。

转载于:https://blog.51cto.com/luxiaok/1183902

shell多线程执行ping相关推荐

  1. [shell进阶]——shell多线程

    关于shell的多线程 1. 多线程并发执行任务,而不用一台台的串行执行,能更快更高效 2. Shell并没有多线程的概念,所以: * 一般使用wait.read等命令技巧性地模拟多线程实 * 使用命 ...

  2. Shell多线程操作及线程数控制实例

    来源:http://www.jb51.net/article/51720.htm 这篇文章主要介绍了Shell多线程操作及线程数控制实例,文中从单线程实现一个需求开始,不断加入代码实现多线程以及线程数 ...

  3. python批量ping脚本_Python多线程批量Ping主机IP的脚本

    Python 编写多线程 Ping 主机IP的脚本 1. 先编写一个 Ping 主机IP的脚本 ping_ip.pyimport subprocess import time # 记录开始执行的时间 ...

  4. shell中执行某条语句失败能不能重复执行_如何重复执行一条命令直至运行成功?...

    大家好,我是良许. 在我们的日常工作中,需要我们重复做的工作简直不能太多.比如,我们想要确认网络是否是连通的,传统的做法就是使用 ping 命令不停去测试某个地址(比如百度).网络比较好还好说,但如果 ...

  5. 如何通过多线程执行单个任务?

    如果必须由多个线程执行单个任务,则只有通过run()方法.例如: 由多个线程执行单个任务的程序. package com.yiibai;class TestMultitasking1 extends ...

  6. shell 多线程脚本

    shell 多线程脚本实现 方法一: for 循环 加&,指定数量的所有进程在后台同时运行 脚本示例如下,同时运行50个进程: [root@node1 sh]# cat process.sh ...

  7. 执行远程linux命令,linux shell 远程执行命令

    经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 如果不会的请参加我的另外一篇文章 http://blog.csdn ...

  8. shell中执行脚本并显示到终端和保存到日志文件中

    我们知道,在shell中执行脚本会返回一定信息到终端屏幕上 ,但是有一些特殊情况,如以下情况: 1)显示到终端中 echo  "abck" 以上在手动执行脚本中是可以的,如果是编写 ...

  9. apache php 执行shell,PHP执行普通shell命令流程解析

    这里演示一些普通的shell命令 php执行shell命令,可以使用下面几个函数: string system ( string $command [, int &$return_var ] ...

最新文章

  1. 在idea项目中的android包不能识别_项目调试编译和部署运行
  2. VS2012 +PTVS配置
  3. java笔试题递归,递归(网上搜的一些笔试题)
  4. 【HDU - 2546】饭卡 (dp,0-1背包,贪心思想)
  5. Logic-算法-XX部队XX侦察队员
  6. oracle试图执行计划,Oracle SQL优化与调优之显示执行计划(上)
  7. Linux 安装Zookeeper
  8. 达芬奇17(DaVinci Resolve Studio 17)兼容big surv17.0b9最新版
  9. JavaScript正则表达式19例(11)
  10. SQL获取数据表最新一条记录
  11. Matlab三维绘图plot3按二维数组分类区分颜色
  12. 小学计算机无生试讲教案,小学英语无生试讲
  13. 【Σ-Δ型ADC芯片】
  14. Minecraft一些红石技巧(1)
  15. 一元运算符 + 表示正号 - 表示负号
  16. 装修鸿蒙瓷砖选择,电视墙用什么材料好?实用与美观,到底该如何选?
  17. Redis之事务的实现
  18. [重要新功能]删除自己发表的评论
  19. 解决Android 8.0和9.0无法获取SSID (unknow ssid)
  20. GeniePath:Graph Neural Networks with Adaptive Receptive Paths

热门文章

  1. 很多IP摄像头厂商都在用的固件中存在多个严重漏洞
  2. 速修复!NSA 报告四个严重和高危 Exchange Server RCE 漏洞
  3. Drupal 更新开源编辑器 CKEditor,修复两个 XSS 漏洞
  4. 签约!睿铂与泰瑞数创共同助力实景三维中国建设
  5. java B2B2C Springboot仿淘宝电子商城系统(六)springboot整合mybatis
  6. HTTP请求消息头和HTTP响应消息头
  7. fmri 实验设计 / 范式设计/ paradigm design
  8. python自动化运维之路~DAY1
  9. android开发实践之1:安装部署环境设置
  10. 第一周 从C走进C++ 002 命令行参数