通过端口查找对应的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的主要内容,如果未能解决你的问题,请参考以下文章
windows下查看多个tomcat对应的进程信息以及对应的程序路径