Linux 使用ss命令停止指定端口进程

背景

目前经常遇到springboot内嵌web容器启动服务,且停止服务时每次都需要手工ps查询进程ID并手工kill的问题,以下命令可以快速实现该目标。

步骤描述

创建shell脚本文件

# 也可以用vim,但不是所有环境都有该命令。另外推荐在stop.sh中标记具体停止哪个端口
vi stop.sh

填写脚本内容(以期望停止8888端口进程为例)

#/bin/bash
p=$(ss -ntlp | grep 8888 | awk -F ',' '{print $2}' | awk -F '=' '{print $2}')
# 部分环境的ss命令输出格式中不包含=符号分隔,则直接以下面的注释的命令处理即可
# p=$(ss -ntlp | grep 8888 | awk -F ',' '{print $2}' | awk -F '=' '{print $2}')
# 若不放心,可以先把kill注释掉,改用echo $p来输出一下结果,甚至先手工输入ss -ntlp|grep 8888|awk -F ',' '{print $2}'看看原始结果是怎样的
kill -9 $p

修改文件权限(可忽略)

chmod +xrr stop.sh

执行脚本

./stop.sh

你可能感兴趣的:(经验分享,linux,ss,linux,ss,停止指定进程)