假设一个应用场景,在某种环境下, 咱们须要去关闭某个应用进程, 而后从新部署启动.不同的场景须要使用不同的脚本,好比在使用tomcat时,能够经过start.up.sh和shutdown.sh进行操做,可是别的好像就没有好的办法了,因此采用的是kill掉应用的PID, 而后从新部署启动.然而每次启动的PID都是不同的, 可是咱们知道的是每次都会启动一样的端口号, 若是经过端口号查询到应用的PID再去kill掉,就会省事不少.linux
接下来能够在shell中经过端口查询PIDshell
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脚原本中止指定端口的服务了,一键启动.tomcat
须要注意的是这样的脚本最好直接在linux上写,否则会出问题,会报不少种错误, 具体的错误你们能够自行百度去排解.网上不少的.spa