0
我正在嘗試運行tcpstat命令,該命令給出接收的請求數量爲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";
}
}
,但它似乎並沒有工作,因爲...命令的執行沒有用戶中斷並沒有結束......
是可能做到這一點?運行命令並同時對其輸出執行操作?
相同的問題..它給我一個閃爍的光標的空白屏幕。 可能是因爲直到tcp stat命令完成其執行,控件纔會轉到while循環。 –
要追蹤它,您可以添加一些'print'調用並知道它被阻止的位置。考慮收到的輸入是否被緩衝。檢查這個http://stackoverflow.com/questions/12351500/perl-disable-buffering-input – VoidPointer