【问题标题】:ping test multi threading using bash使用 bash ping 测试多线程
【发布时间】:2018-01-23 13:19:46
【问题描述】:

我正在尝试使用 ping -c1 test 检查超过 2500 台服务器的运行状况。检查单个服务器需要 1.5 秒。因为这个执行需要将近 1.5 小时。我想在近 10 分钟或 15 分钟的时间内完成这个执行,所以考虑在 bash 脚本中启用线程。我注意到 epel 提供的“并行”增强了多线程功能。

我想知道有没有其他方法可以实现这一目标?我更喜欢 bash 比任何其他语言。

谢谢

【问题讨论】:

  • 如何在后台创建多个服务器列表并在这些列表上并行运行多个 ping 脚本。
  • bash 不是满足您要求的最佳解决方案。如果你真的想坚持使用 bash parallel 或 fping

标签: multithreading bash


【解决方案1】:

有一个名为fping 的工具可以从输入文件中读取:

fping hosts.txt

程序不需要多线程,因为单个进程/线程可以同时ping多个主机。


或者,您可以使用旧的 nmap,它也可以并行执行 ping 测试:

nmap -n -sP -iL hosts.txt

【讨论】:

    【解决方案2】:

    您可能无法获得所需的完全加速,但您是否尝试过在后台运行每个进程?像这样:

    for i in {1..100} ; 
        do     ( /cygdrive/c/Windows/System32/ping -n 3 127.0.0.1 & ); 
    done
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-29
      • 2022-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多