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上写,不然会出问题,会报很多种错误, 具体的错误大家可以自行百度去排解.网上很多的.

更多精彩,可以关注楼主的公众号,

最全面的django面试题总结: 回复django面试题即可获取, pycharm供给激活压缩包, 回复pycharm破解包即可获取,破解步骤在我的这一篇博客(点我直达)已经破解百次, 屡试不爽.

以及其他楼主精心打造的原创文章,欢迎各位来访.

原文地址:https://www.cnblogs.com/f-g-f/p/11488607.html