0

受信したicmpリクエストの数に関する出力を提供するtcpstatコマンドを実行しようとしています。同時に、カウントをチェックして、しきい値を超えた場合にメッセージが表示されるようにする必要があります。

私はこのようなものを試しました

#!/usr/bin/perl

my @count= system "tcpstat -i eth1 -f icmp[0]==8 -o %C";

my $i=0;
while ($i<1000)
{
print "count of packets is :".$count[$i]."\n";
$i=$i+1;
if($count[$i]>50)
{   
print "thats a lot of pings";
}
}

しかし、それは機能していないようです...コマンドの実行は、ユーザーの割り込みなしでは終了しません...

それは可能ですか?コマンドを実行し、同時にその出力に対して操作を実行しますか?

4

1 に答える 1

0

シェルでコマンドを実行し、出力をスクリプトtcpstatにパイプします。perl

tcpstat -i eth1 -f icmp[0]==8 -o %C  |  perl script.pl

もちろん、このようにして、perlからの入力を期待し、呼び出し<STDIN>を削除する必要があります。system

于 2013-07-17T17:48:20.257 に答える