Linux之netstat命令-服务自动化发布时以此结果为依据停止服务

Linux之netstat命令-服务自动化发布时以此结果为依据停止服务

  1. 需求:

    在停止Linux上一个进程之前,需要该进程无客户端连接,才能停止该服务

    比如:kill -15 pid,不过这个命令还是不保险

    最终还是选择用linux的netstat命令来实现该功能
  2. netstat命令介绍:

    语法:

    netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

    参数说明:
     -a或--all 显示所有连线中的Socket。
     -A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
     -c或--continuous 持续列出网络状态。
     -C或--cache 显示路由器配置的快取信息。
     -e或--extend 显示网络其他相关信息。
     -F或--fib 显示FIB。
     -g或--groups 显示多重广播功能群组组员名单。
     -h或--help 在线帮助。
     -i或--interfaces 显示网络界面信息表单。
     -l或--listening 显示监控中的服务器的Socket。
     -M或--masquerade 显示伪装的网络连线。
     -n或--numeric 直接使用IP地址,而不通过域名服务器。
     -N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
     -o或--timers 显示计时器。
     -p或--programs 显示正在使用Socket的程序识别码和程序名称。
     -r或--route 显示Routing Table。
     -s或--statistice 显示网络工作信息统计表。
     -t或--tcp 显示TCP传输协议的连线状况。
     -u或--udp 显示UDP传输协议的连线状况。
     -v或--verbose 显示指令执行过程。
     -V或--version 显示版本信息。
     -w或--raw 显示RAW传输协议的连线状况。
     -x或--unix 此参数的效果和指定"-A unix"参数相同。
     --ip或--inet 此参数的效果和指定"-A inet"参数相同。
    
    参考菜鸟教程

    在此处我们用到的命令:

    netstat -an | grep PORT

    如下图所示,显示所有的socket连接以及连接的客户端信息:

    在这里插入图片描述

    没有连接的情况:

    在这里插入图片描述
  3. 我们利用这个命令 结合 wc(root) 和 awk命令 获取到当前端口的客户端连接数,命令如下:

    netstat -an | grep 7778 |wc | awk '{print $1}'

    无客户端连接情况:

    在这里插入图片描述

    有客户端连接情况:

    在这里插入图片描述


    借此我们可以拿到这个客户端连接数,来做服务自动化发布时的是否可以停止服务的条件

github

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值