你写一个段shell脚本 ,然后配置定时任务就行了。因为你不重启服务器,只是想重复服务。那么只要查找tomcat的服务,把它强制结束后再重启就行了
--------------------------------------------以下是整个代码,你先按你的路径改,然后进行测试-------------------
# 查找所有Tomcat进程的PID,使用空格分割成数组形式
tomcat_pids=($(ps -ef | grep tomcat | grep -v grep | awk '{print $2}'))
# 判断是否存在Tomcat进程
if [ ${#tomcat_pids[@]} -gt 0 ]; then
echo "检测到Tomcat进程,准备强制关闭,进程PID如下:"
for pid in "${tomcat_pids[@]}"; do
echo $pid
kill -9 $pid
done
# 等待一小段时间确保进程已被关闭,我等5秒,你自己调整
sleep 5
else
echo "未检测到Tomcat进程,无需关闭。"
fi
# 启动Tomcat服务,下面的路径要改成你自己服务器的实际路径!
echo "正在启动Tomcat服务..."
/usr/local/tomcat/bin/startup.sh
--------------------------------------代码结束--------------------------------------------------------
假如每周星期天的凌晨2点执行一次,你就配置cron的服务。。假如上面的脚本名称叫restart_tomcat.sh
0 2 * * 0 /path/to/restart_tomcat.sh
要配置可执行的权限,你用chmod +x命令配置权限