背景
目前经常遇到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})
# 若不放心,可以先把kill注释掉,改用echo $p来输出一下结果,甚至先手工输入ss -ntlp|grep 8888|awk -F ',' '{print $2}'看看原始结果是怎样的
kill -9 $p
修改文件权限(可忽略)
chmod +xrr stop.sh
执行脚本
./stop.sh