红联Linux门户
Linux帮助

linux系统服务器重启导致同一个tomcat出现很多进程等问题解决

发布时间:2017-03-10 10:30:26来源:linux网站作者:着实着迷
Linux系统tomcat应为被定时任务脚本监控自动部署,服务器重启导致同一个tomcat出现很多进程,kill -9杀死又出现等一系列问题解决。
 
#ps -ef|grep tomcat查看tomcat进程,同一个tomcat有很多一样的进程,kill -9杀完过一会又会出现,且pid随时发生改变。
我首先想到第一时间去tomcat的bin目录下去执行#./shutdown命令想正常关闭tomcat,也无法关闭。
于是去搜索各种找方法,都试过一遍,但是大部分还是让我kill  -9 命令杀父进程,都是没法有效解决我的问题的。还有的是让我修改bin/catalina.sh文件shutdown.sh的文件加一个pid,关闭的时候直接通过配置的pid去关tomcat,但是我的tomcat工程是通过脚本文件自动循环部署工程的,如果把pid写死的话,肯定会影响以后的项目部署,于是放弃了这个方法(ps:这方法我直接没试,不不知道行不行);
搞了半天,很头疼,我决定先去把定时任务停了,防止脚本每半个小时自动执行检测部署(如果检测到域名无法访问项目,会自动重启tomcat)任务。
查看定时任务命令:crontab -l
修改定时任务命令:crontab -e
如下:
[root@UbitechLinux31 bin]# crontab -l
#*/30 * * * * /ttcShell/refreshRelease/refresh.sh >>/ttcShell/refreshRelease/refresh.txt 2>&1
#*/30 * * * * /usr/tomcat_pool/tomcat_ttc_2/refreshMySql/refresh.sh 2>>/usr/tomcat_pool/tomcat_ttc_2/refreshMySql/refresh.txt
#29 17 * * * /home/refresh/refresh.sh >>/home/refresh/refresh.txt 2>&1
20 01 * * * /data/ttcDataBackup.sh > /data/ttcDataBackup.txt 2>&1
定时任务已经被我注释掉了(最好再执行下让修改定时任务重启生效命令:# /etc/init.d/crond restart),附上可能会用到的查看定时任务日志的命令:#vi  /var/log/cron
停了之后我半个小时看日志,的确没有脚本执行日志了。
可tomcat的日志里面去一看,照样在执行启动任务,跟死循环一样。
现在的情况就是杀也杀不死,关也关不掉,而且定时任务脚本都已经注释掉了。
 
于是继续搜索找方法,找到一个很有效的方法可以杀死全部tomcat进程
杀掉所有tomcat进程(这里的路径视情况而定,ps -ef|grep tomcat  是可以看到路径的)
killall -9 /usr/Java/jdk1.8.0_112/jre/bin/java
执行了过后,ps -ef | grep   tomcat
查看tomcat进程果然都没了,这个命令果然牛!
心里相当开心,以为只要关掉了那些令人恶心的无限出现tomcat进程就好办了,然后事实证明我还是太年轻!
既然tomcat能关了,那么只要再去启动下,项目应该就能访问了!
于是去到/bin  目录下执行# ./startup.sh 命令
结果出现各种错。
打开tomcat的日志/log里面的catalina.2017-03-08.log文件查看错误信息
linux系统服务器重启导致同一个tomcat出现很多进程等问题解决
linux系统服务器重启导致同一个tomcat出现很多进程等问题解决
 
又是搜索,还是没法解决,不过算是知道了,问题出现的重点是tomcat启动The session manager failed to start
好像跟session有关,于是,自己跑去到tomcat目录下的/confg和/work目录下把Catalina文件删除了。
linux系统服务器重启导致同一个tomcat出现很多进程等问题解决
然后去/bin目录下启动tomcat!
ok,接着去tail  -f  查看tomcat打印日志。没有报错!然后访问项目,正常!万幸,解决了。
我猜想可能是之前的无限次进程卡死导致Catalina文件有问题,会影响到tomcat启动等等以及上面抱的session相关的问题吧,只要删掉那两个文件,然后重新启动tomcat又会生成新的Catalina的!
 
本人也是linux菜鸟,本文目的只是记录自己工作中遇到的一些问题,以便以后遇到同样的错误,可以有迹可循。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/29062.html