在linux中,如何找到tomcat服务器在不同系统的多端口中运行,而不提及端口号
读取输入字符串 案例$INPUT_字符串输入在linux中,如何找到tomcat服务器在不同系统的多端口中运行,而不提及端口号,linux,apache,unix,tomcat,Linux,Apache,Unix,Tomcat,读取输入字符串 案例$INPUT_字符串输入 stop) check=`netstat -na | grep 8080 | awk '{print $6}'|head -1` if [ "$check" = "TIME_WAIT" ]; then echo "DEFAULT TOMCAT PORT IS LISTENING, SO ITS stopped already..." else sh /opt/apache-tomcat-8.
stop)
check=`netstat -na | grep 8080 | awk '{print $6}'|head -1`
if [ "$check" = "TIME_WAIT" ]; then
echo "DEFAULT TOMCAT PORT IS LISTENING, SO ITS stopped already..."
else
sh /opt/apache-tomcat-8.0.39/bin/shutdown.sh > /dev/null 2>&1
echo "Tomcat server is stopped....."
fi
这里,我的代码只查找在8080端口上运行的tomcat服务器,以便轻松查找tomcat是否正在运行。但实际上我需要的是,如果tomcat服务器正在运行或在某些其他端口处于停止状态,则停止/启动它。…创建一个运行tomcat的PID数组,并检查每个PID:
declare -a list
list=( `ps -AChS | grep '[t]omcat' | awk '{ print $1 }'`)
for i in ${list[*]} ;
do netstat -vlp tcp | awk '{ print $6, $9 }' | grep "$i" ;
done
unset "$list"
我在这里创建一个tomcat pid数组,然后使用grep查找每个pid的网络状态。完成循环后,我将清除数组。注意:netstat在不同的操作系统上有不同的实现,在我的例子中,我使用的是verbose,它显示了进程的pid和tcp过滤
使用catalina.sh启动或停止服务,例如,
catalina.sh stop
我已经知道这个命令,如果tomcat服务器的端口发生变化,如何识别它……当您只想停止服务时,为什么您关心端口是否发生变化?请解释一下。在我的代码中,我通过传递netstat-na | grep8080 | awk{print$6}head-1这个命令来获取tomcat服务器的状态。如果tomcat服务器正在运行,该命令将给出Listen的状态,否则它将返回TIME\u WAIT,从我确定服务器处于启动/停止状态开始。。根据我需要重新启动服务器或停止服务器的状态..这个脚本获取服务器中tomcat服务器安装路径的位置,在该路径中,它通过输入start/stop来启动..具体地说,我实际做的是ps-aef | grep java | grep tomcat | awk'{print$2}'此命令给出tomcat是否正在运行的状态。如果tomcat正在运行,我们将获得一些pid值,根据该值,我们可以检查启动tomcat服务器的条件是否。。。
# This script is works based on tomcat server is running or stopped status. if it is stopped I need to restart it by giving option as start otherwise stop based on the requirement....
#!/bin/sh
echo "Choose Your Option---- status or stop.."
echo
echo "Enter Your Option ..."
path=`whereis -l tomcat | grep tomcat | sed 's/bin: //' |head -1`
echo $path
echo "Enter Your Option ..."
while :
do
read INPUT_STRING
case $INPUT_STRING in
stop)
check=` ps -aef |grep java| grep tomcat |awk '{print $2}'`
if [ -z "$check" ]; then
echo "Tomcat server is stopped already..."
else
sh $path/shutdown.sh > /dev/null 2>&1
echo "The Tomcat server is stopped successfully..."
fi
exit;
;;
start)
check=`ps -aef |grep java| grep tomcat |awk '{print $2}'`
if [ ! -z ${check} ]; then
echo "Tomcat server is already running successfully..."
else
sh $path/startup.sh > /dev/null 2>&1
echo "Tomcat server is started....."
fi
exit;
;;
status)
check=`ps -aef |grep java| grep tomcat |awk '{print $2}'`
if [ ! -z ${check} ]; then
echo "Tomcat server is already running..."
else
echo "Tomcat server is stopped...."
fi
exit;
;;
esac
done