- 你还在为每次启动tomcat前杀进程而烦恼吗?
- 你还在为每次启动完tomcat忘记清理缓存导致代码不生效而烦恼吗?
- 你还在为每次启动完tomcat因为清缓存的麻烦而感到烦恼吗?
教你一招让你永久免除这些烦恼:以后启动tomcat只用执行startsh.sh即可,自动杀进程,清缓存
将下面的内容添加到startup.sh的最后一句话之前
也就是(exec "$PRGDIR"/"$EXECUTABLE" start "$@")上面
先来个截图:
#尝试关闭tomcat
Monitor(){
echo " [$(date +\'%F %H:%M:%S\')]"
#第一次检查,是否存在,然后尝试使用shutdown关闭tomcat
tomcatPid_1=$(ps -ef|grep tomcat |grep jdk | awk \'{print $2}\')
echo "Tomcat的pid为:$tomcatPid_1"
if [ "$tomcatPid_1" ]
then
echo "=*=Tomcat运行正常,现在关闭,并清空缓存"
sh shutdown.sh &
sleep 10
#第二次检查,shutdown结果,然后尝试使用kill关闭tomcat
tomcatPid_2=$(ps -ef|grep tomcat |grep jdk | awk \'{print $2}\')
if [ "$tomcatPid_2" ]
then
kill -9 $tomcatPid_2
#第三次检查,kill结果
tomcatPid_3=$(ps -ef|grep tomcat |grep jdk | awk \'{print $2}\')
if [ "$tomcatPid_3" ]
then
echo " Tomcat进程kill失败,这个基本不可能"
else
echo " Tomcat关闭成功For Kill"
fi
else
echo " shutdown.sh停止Tomcat成功"
fi
else
echo " Tomcat之前并没有启动"
fi
}
Monitor
#尝试清缓存/work/Catalina
if [ ! -d "../work/Catalina" ];
then
echo "/work/Catalian不存在"
else
rm -rf "../work/Catalina"
echo "/work/Catalina存在,现已删除"
fi
#尝试清缓存/conf/Catalina
if [ ! -d "../conf/Catalina" ]
then
echo "/conf/Catalina不存在"
else
rm -rf "../conf/Catalina"
echo "/conf/Catalina存在,现已删除"
fi