无法即时比较ping时间 [英] Unable to compare ping times on fly
问题描述
我未成功尝试以下命令
sdiff <(ping www.nato.int) <(ping www.reuters.com)
是否可以在ping时间之间进行实时比较?
推荐答案
通常,我只是并排打开两个xterm,然后在每个xterm中运行ping.或在一个终端中"ping host1&ping host2&"
Usually I just open two xterms side-by-side and run ping in each. Or in one terminal "ping host1 & ping host2&"
fping -e将使您一次运行即可获得一系列主机的延迟.因此,您可以执行以下操作: 观看fping -e www.google.com www.yahoo.com www.kernel.org
fping -e will give you the latency to a list of hosts in one run. So you can just do: watch fping -e www.google.com www.yahoo.com www.kernel.org
并非每个人都有手表,但是您可以执行此操作(然后您可以查看历史记录): 尽管 :;约会; fping -e www.google.com www.yahoo.com www.kernel.org;睡觉1;完成
Not everyone has watch, but you can just do this (and then you can see the history): while :; do date; fping -e www.google.com www.yahoo.com www.kernel.org; sleep 1; done
输出仍然很难看,并不是每个人都安装了fping.
The output is still ugly, and not everyone has fping installed either..
如果您想产生看起来不错的输出,那么这是一个开始.只要给它一个主机列表作为参数即可.
Here's a start if you want to produce decent looking output. Just give it a list of hosts as arguments.
#!/usr/bin/perl
use strict;
use warnings;
use POSIX;
for(;;) {
print strftime("%T:", localtime);
foreach my $host (@ARGV) {
my $a=`ping -c 1 $host`;
my $latency;
if($a =~ /rtt.* =\s+([\d.]+)\//s) {
$latency=$1;
} else {
$latency="(dropped)";
}
print "$host:$latency\t";
}
print "\n";
sleep(1);
}
这篇关于无法即时比较ping时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!