shell脚本根据端口号kill掉进程
Posted 你没有想象的那么重要
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本根据端口号kill掉进程相关的知识,希望对你有一定的参考价值。
假设一个应用场景,在某种环境下, 我们需要去关闭某个应用进程, 然后重新部署启动.不一样的场景需要使用不一样的脚本,比如在使用tomcat时,可以通过start.up.sh和shutdown.sh进行操作,但是别的好像就没有好的办法了,所以采用的是kill掉应用的PID, 然后重新部署启动.然而每次启动的PID都是不一样的, 但是我们知道的是每次都会启动同样的端口号, 如果通过端口号查询到应用的PID再去kill掉,就会省事很多.
接下来可以在shell中通过端口查询PID
port=8030 # 根据端口号去查询对应的PID pid = $(netstat -nlp | grep :$port | awk ‘{print $7}‘ | awk -F"/" ‘{print $1}‘); # 杀掉对应的进程 如果PID不存在,即该端口没有开启,则不执行 if [ -n "$pid" ]; then kill -9 $pid; fi
这样就可以实现在生产环境中运行这个shell脚本来停止指定端口的服务了,一键启动.
需要注意的是这样的脚本最好直接在linux上写,不然会出问题,会报很多种错误, 具体的错误大家可以自行百度去排解.网上很多的.
以上是关于shell脚本根据端口号kill掉进程的主要内容,如果未能解决你的问题,请参考以下文章
linux 下写 shell kill掉运行时间超过5分钟的PHP进程
linux 下写 shell kill掉运行时间超过5分钟的PHP进程
Linux,deian 7怎么把占用80端口的程序kill掉