通过端口查找对应的PID和路径,并重启tomcat

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过端口查找对应的PID和路径,并重启tomcat相关的知识,希望对你有一定的参考价值。

使用方法:

赋予可执行权限

./tomcat_port_reboot.sh  tomcat端口

会根据端口查找PID和tomcat路径

默认不会重启

输入 y 则会重启tomcat

输入 n 则退出脚本


脚本内容如下:

#!/bin/bash

##      通过端口查找对应的PID和路径,并重启tomcat  ##

##      

if [ ! -n "$1" ];then

        echo -e "Usage: $0 port1 port2 ...\n"

        exit 30

fi


echo -e "\n-PORT ------ PID ---------- PATH------------- "

for ((i=1;i<=$#;i=i+1)); do

        eval tmp_m=\${$i}

        T_PORT=$tmp_m

        T_PID=$(netstat -ntpl 2> /dev/null|grep ":::${T_PORT} "|awk ‘{print $7}‘|awk -F / ‘{print $1}‘ 2> /dev/null)

        if [ -n "$T_PID" ];then

                T_PATH=$(ps aux |grep "${T_PID}" | grep -v grep|awk ‘{print $(NF-3)}‘|awk -F= ‘{print $2}‘)

                echo "${T_PORT}  --    ${T_PID}  --  ${T_PATH}"

        else

                echo "The $tmp_m is not exsit"

        fi


done

echo -e "\n"

read -n 1 -t 10 -p "Please input is restarted[y|n]:  " reboot

if [ $reboot = y ] || [ $reboot = Y ]

then

        kill -9  ${T_PID}

        echo -e "\n"

        sleep 2

        $T_PATH/bin/startup.sh

fi



if [ $reboot = n ] || [ $reboot = N ]

then

        echo -e "\ntomcat no reboot" &&  exit 20

fi


echo ""


技术分享

以上是关于通过端口查找对应的PID和路径,并重启tomcat的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat端口被占用怎么查看占用程序

windows下查看多个tomcat对应的进程信息以及对应的程序路径

windows下查看多个tomcat对应的进程信息以及对应的程序路径

查找端口占用并关闭进程(windows)

查找端口占用并关闭进程(windows)

windows查看端口占用进程并关闭