tc_song 2016-03-30 03:13 采纳率: 0%
浏览 637

linux中netstat某个瞬间值不准确,求大神指点

使用netstat监控端口时,连续两次查看的端口状态不一致,实际上这个端口应该是一直连接这的。
下面是我的bash监控脚本:

for((i=0; i do
netstat -an|grep $locPort >$TMPFILE
count=cat $TMPFILE|grep ESTABLISHED|awk '{print $4}'|grep $locPort|wc -l
count1=cat $TMPFILE|grep LISTEN| awk '{print $4}'|grep $locPort|wc -l
count2=cat $TMPFILE|awk '{print $4}'|grep $locPort|wc -l
local msgBuf1=0
local msgBuf2=0
msgBuf1=cat $TMPFILE|awk '{print $2,$3,$4,$6}' |grep $locPort|grep ESTABLISHED|awk '{print $1}'
msgBuf2=cat $TMPFILE|awk '{print $2,$3,$4,$6}' |grep $locPort|grep ESTABLISHED|awk '{print $2}'
msgBuf1=${msgBuf1:-0}
msgBuf2=${msgBuf2:-0}
if [ $count -eq 1 -a $count1 -eq 1 -a $count2 -eq 2 -a $msgBuf1 -eq 0 -a $msgBuf2 -eq 0 ] ;then
status="OK"
break
else
status="ERROR"
cat $TMPFILE >&3
echo "++++++++++++++++++++" >&3
netstat -an|grep $locPort >&3
echo "sleep 1s"
sleep 1s
continue
fi
done

下面是输出内容:

tcp 0 0 10.5.177.44:20203 0.0.0.0:* LISTEN
tcp 0 0 ::ffff:10.5.177.44:12184 ::ffff:10.5.177.44:20203 ESTABLISHED
++++++++++++++++++++
tcp 0 0 10.5.177.44:20203 0.0.0.0:* LISTEN
tcp 0 0 10.5.177.44:20203 10.5.177.44:12184 ESTABLISHED
tcp 0 0 ::ffff:10.5.177.44:12184 ::ffff:10.5.177.44:20203 ESTABLISHED

该监控程序大部分时候都是正常的,但是偶然性会出现上面这种情况,sleep1秒后端口状态又正常了,应用程序是长连接,这期间应用也是正常的。求大神指点。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-27 23:58
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥20 jupyter保存图像功能的实现
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键