linux - 如何将多个正在运行的 ping 线程反馈/结果保存到每个相关文件输出?

标签 linux multithreading bash logging ping

我在 linux shell 脚本中编写了以下脚本,用于并行 ping 多个路由器并将输出保存到文件和其他脚本分析以分析链路上的数据包丢失。如您所见,所有 ping 都在后台运行并模拟并行或多线程。

for  ips  in  100.28.139.5  100.20.12.90  100.23.13.74  100.25.131.10
do 
ping $ips -s 500  -c 500 &> ${ips}.500.text & 
ping $ips -s 1500 -c 500 &> ${ips}.1500.text & 
ping $ips -s 4500 -c 500 &> ${ips}.4500.text & 
done

我曾尝试用 java 重写它,但我发现它太大(>100 行)并且我无法将线程结果保存到相关的 ping 文件输出。 我需要为每个线程提供专用记录器,以保存输出。

如何将多个正在运行的 ping 线程反馈/结果保存到每个相关文件输出?

最佳答案

当您创建您的线程时,您将使用构造函数将某些数据传递给他:假设要 ping 的 url。使用此类信息,您可以在磁盘上创建自己的文件,用于输出来自 ping 反馈的数据。

关于linux - 如何将多个正在运行的 ping 线程反馈/结果保存到每个相关文件输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18798764/

相关文章:

linux - 检查 IP 有效性

c# - 如何在 C# 中实现多线程事务?

linux - cd 命令在管道中的行为

bash - 是否有包含剪贴板内容的环境变量?

linux - 如何在 shell 中最后一次出现子字符串后剪切字符串?

linux - 如何强制 Wi-Fi 适配器使用特定 channel

linux - 关于软件桥连接问题的债券

Java 线程 notify() 与 notifyAll()

java - 多线程和 Swing

bash - 使用 bash shell 脚本替换文件中的字符串