使用 bash 进行服务闲置检查

在重启服务前,需要确保没有未处理的请求。本文介绍了如何使用bash命令检查端口TCP连接,通过统计命令输出行数判断服务是否闲置,并探讨了在bash中如何处理异常,包括使用`||`和`&&`进行错误处理。最后,展示了如何通过`&`和`wait`命令实现多线程检查多个服务实例的闲置状态。
摘要由CSDN通过智能技术生成

本文链接个人站 | 简书 | CSDN
版权声明:除特别声明外,本博客文章均采用 BY-NC-SA 许可协议。转载请注明出处。

重启服务之前往往需要检查一下是否还有未处理完的请求。此时可以使用 ss 命令查看端口是否还有 TCP 连接。例如:

pi@raspberrypi:~ $ ss -nt state established src 192.168.1.26:8888
Recv-Q Send-Q Local Address:Port               Peer Address:Port              
0      0      192.168.1.26:8888               192.168.1.25:50390

我们可以统计这条命令输出的行数,若小于 2,则说明服务已经处于闲置状态。脚本如下:

#!/bin/bash

# 获取本机 IP
host=$(ifconfig -a | grep inet | grep -v 127.0.0.1 | grep -v inet6 | awk '{print $2}' | tr -d "addr:")
# 超时时间
timeout=3600

check(){
   
  port="$1"
  begin=$(date +'%s')
  while true
  do
    current=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值