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
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

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

报告相同问题?

悬赏问题

  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条