当前位置: 首页 > news >正文

完美解决Linux服务器tomcat开机自启动问题

经过多次测试终于彻底解决tomcat开机自启动的问题了

PID3=`ps aux | grep /home/server/shichuan/ | grep java | awk '{print $2}'`

if [ -n "$PID3" ]; then
这个判断pid的方式还是可能出现启动失败的情况
# tail -n 1 /home/server/shichuan/logs/catalina.out |grep 'INFO: Server startup in'
INFO: Server startup in 37417 ms
这个才是真正的启动成功,由于是用autostart的方式会先执行停止后启动,一定不会重新最后一行是之前启动成功留下来的
启动成功需要40秒左右,应该先sleep 足够长的时间再检测,否则会出现启动多个tomcat进程的问题
一次性杀掉多个tomcat进程命令:
ps -ef|grep -v grep|grep /home/server/shichuan/ | grep java |awk '{print "kill -9 "$2}'|sh

$TOMCAT_PATH/startup.sh

sleep 60

for((i=1;i<10;i++))
do
LASTINFO=`tail -n 1 /home/server/shichuan/logs/catalina.out |grep 'INFO: Server startup in'`
if [ -n "$LASTINFO" ]; then
break
else
ps -ef|grep -v grep|grep /home/server/shichuan/ | grep java |awk '{print "kill -9 "$2}'|sh
sleep 1
$TOMCAT_PATH/startup.sh
sleep 60
fi
done

设置权限:chmod 777 autostart.sh

在/etc/rc.d/rc.local中加入脚本:
vim /etc/rc.local
/home/server/shichuan/bin/autostart.sh
保存并退出,下次重启会生效。

============================

ps -ef|grep -v grep|grep /home/server/shichuan/ | grep java
ps aux | grep /home/server/shichuan/ | grep java | awk '{print $2}'
ps -ef|grep -v grep|grep /home/server/shichuan/ | grep java |awk '{print "kill -9 "$2}'
ps -ef|grep -v grep|grep /home/server/shichuan/ | grep java |awk '{print "kill -9 "$2}'|sh


ps -ef | 获取当前服务器所有进程
grep -v grep 相当于grep自己吧自己过滤掉,就是不显示grep
grep /home/server/shichuan/ | grep java 过滤出包含这些内容,即过滤出对应的pid
awk 截取 $2 第二个域的pid号。通过调用外部命令kill 来干掉
|sh 把前面print输出的内容作为命令执行

===========================

其他相关命令:

service nginx restart
ls -lh /home/server/shichuan/bin/autostart.sh
cd /home/server/shichuan/bin/

vim /home/server/shichuan/bin/autostart.sh

tail -f /home/server/shichuan/logs/catalina.out

===========================

 下面是autostart.sh的内容:

复制代码

#!/bin/sh
TOMCAT_PATH=/home/server/shichuan/binps -ef|grep -v grep|grep /home/server/shichuan/ | grep java |awk '{print "kill -9 "$2}'|sh
sleep 10$TOMCAT_PATH/startup.shsleep 60for((i=1;i<10;i++))
doLASTINFO=`tail -n 1 /home/server/shichuan/logs/catalina.out |grep 'INFO: Server startup in'`if [ -n "$LASTINFO" ]; thenbreakelseps -ef|grep -v grep|grep /home/server/shichuan/ | grep java |awk '{print "kill -9 "$2}'|shsleep 1$TOMCAT_PATH/startup.shsleep 60fi
done
http://www.dtcms.com/a/286060.html

相关文章:

  • Python爬虫实战:研究http-parser库相关技术
  • 操作符学习(1)
  • mysql not in 查询引发的bug问题记录
  • Microsoft 365 Adoption Score功能深度解析:驱动企业数字化转型的利器
  • 网安-DNSlog
  • 第三章自定义检视面板_创建自定义编辑器类_检测与应用修改(本章进度(2/9))
  • 可靠消息最终一致性分布式事务解决方案
  • 补贴退坡、平价上网,数字隔离器如何守护更高功率的光伏逆变器?
  • 门控线性单元GLU (Gated Linear Unit)
  • ApplicationContext 事件发布与监听机制详解
  • 反射机制的登录系统
  • PHP 8.0 升级到 PHP 8.1
  • 创建型模式
  • 基于 HT 的 3D 可视化智慧矿山开发实现
  • 从一开始的网络攻防(四):XSS
  • hadoop(服务器伪分布式搭建)
  • FastAdmin后台登录地址变更原理与手动修改方法-后台入口机制原理解析-优雅草卓伊凡
  • Hadoop安全机制深度剖析:Kerberos认证与HDFS ACL细粒度权限控制
  • 《Web安全之深度学习实战》读书笔记总结
  • AI赋能轮胎安全:基于YOLO11的智能裂纹检测系统
  • 基于springboot+vue+mysql的智慧社区设计与实现(源码+论文+开题报告)
  • Docker Swarm 集群使用记录
  • Matlab打开慢、加载慢的解决办法
  • 免费的一些工具收集
  • 【Oracle】centos7离线静默安装oracle11g(p13390677_112040)
  • Hive 向量化执行引擎 Vectorized Execution 常见 NPE 报错分析及解决
  • 全球天气预报5天(经纬度版)免费API接口教程
  • Python绘制数据(二)
  • JAVA面试宝典 -《微服务治理:从链路追踪到熔断》
  • 某邮生活旋转验证码识别