社区
Linux/Unix社区
帖子详情
linux下,tomcat进程存在却停止了服务
qsrock
2010-06-21 08:49:11
近来系统出了个问题:“tomcat进程存在却停止了服务,导致放在tomcat的系统访问不了”, 停止服务。
需要强制kill -9 杀死进程再重启,但是十几个小时过去又出现,tomcat进程存在,系统访问不了,也没有报什么错误(连续出现好几次,现在还没解决)。日志中也没有出现什么错误,请问有什么情况会导致这样的情况出现?谢谢。
...全文
462
12
打赏
收藏
linux下,tomcat进程存在却停止了服务
近来系统出了个问题:“tomcat进程存在却停止了服务,导致放在tomcat的系统访问不了”, 停止服务。 需要强制kill -9 杀死进程再重启,但是十几个小时过去又出现,tomcat进程存在,系统访问不了,也没有报什么错误(连续出现好几次,现在还没解决)。日志中也没有出现什么错误,请问有什么情况会导致这样的情况出现?谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
小营123
2010-10-28
打赏
举报
回复
这个问题我也遇到了,恭请那位大哥,帮解决一下;
yangdaliang
2010-06-21
打赏
举报
回复
killall -9 java
可以完全杀死tomcat进程
你可以用 ps -ef |grep java
查看tomcat的进程是否存在!
ecsape
2010-06-21
打赏
举报
回复
检查下程序的连接池设置,及tomcat的数据库连接设置。
steptodream
2010-06-21
打赏
举报
回复
看看不能访问的时候 进程存在 端口还是打开的吗
想了下 没想出是什么问题 哎
zoutuo
2010-06-21
打赏
举报
回复
是否和tomcat版本有关?或者是连接池满等等。换一个版本的tomcat试一下
ecsape
2010-06-21
打赏
举报
回复
我也补充下,如果是我上面说的问题,是不会有错误日志的,因为这时候没有错误,只是在等待资源而已。
或者你可以找个测试工具,不断的访问某个程序,如果出问题了就把它单独拿出来再测一次,这样应该快点。
ecsape
2010-06-21
打赏
举报
回复
我觉得很大可能是某个程序使用线程池有问题,或者数据库的连接池配置不当,像是占用了线程资源或者数据库连接没有释放,最初可能是好好的,但时间长了,问题就出现了。
[Quote=引用 7 楼 qsrock 的回复:]
问题是为什么十几个小时后才出问题
[/Quote]
steptodream
2010-06-21
打赏
举报
回复
[Quote=引用 8 楼 qsrock 的回复:]
再补充一点,程序有很多日志,但是一点错误日志的信息都没有!谢谢!
[/Quote]
试试6楼说的 这样的问题不太容易找
需要耐心盘查
qsrock
2010-06-21
打赏
举报
回复
再补充一点,程序有很多日志,但是一点错误日志的信息都没有!谢谢!
qsrock
2010-06-21
打赏
举报
回复
问题是为什么十几个小时后才出问题
ecsape
2010-06-21
打赏
举报
回复
应该是程序的问题。
把你的工程一个个的挪出去,哪个挪出去后没有这个问题了,就是那个程序的问题。
qsrock
2010-06-21
打赏
举报
回复
进程是存在!但是端口却不能用,应该还是tomcat被占用了。应该与tomcat版本无关,一直用的版本。
Linux
查看
tomcat
服务
进程
号,
linux
如何查看
tomcat
进程
_网站
服务
器运行维护
linux
查看端口命令是什么_网站
服务
器运行维护
linux
查看端口命令有两种,分别是“lsof -i:”和“netstat -nltp | grep”,其中参数“-a”显示本机所有连接和监听地端口,参数“-n”表示网络IP地址的形式,显示当前建立的有效连接和端口。
linux
如何查看
tomcat
进程
?查看正在运行的
Tomcat
进程
(1)ps aux | grep
tomcat
(2)ps -ef |...
Linux
查看
tomcat
服务
进程
号,
Linux
下启动
停止
查看杀死
Tomcat
进程
启动一般是执行
tomcat
/bin/startup.sh,sh
tomcat
/bin/startup.sh
停止
一般是执行 sh
tomcat
/bin/shutdown.sh脚本命令查看执行ps -ef |grep
tomcat
输出如下sun 5144 1 0 10:21 pts/1 00:00:06 /java/jdk/bin/java -Djava.util.logging.manager=o...
linux
如何查看
Tomcat
进程
首先进入
tomcat
所在bin目录 cd /opt/
tomcat
/bin (需根据个人
tomcat
目录进入)关闭
tomcat
服务
: ./shutdown.sh 或则 sh shutdown.sh。(2)执行./startup.sh 看不见日志的启动方式 或则 sh startup.sh。(1)给bin文件夹可执行权限:chmod -R 777 文件目录。(3)执行./catalina.sh 可以看见启动日志的启动方式。查看正在运行的
Tomcat
进程
。
Tomcat
启动、
停止
。
解决
linux
下
tomcat
停止
进程
任
存在
问题
在
Linux
下(之所以强调
linux
下,是因为在windows下正常),执行
tomcat
./shutdown.sh 后,虽然
tomcat
服务
不能正常访问,但是ps -ef |grep
tomcat
后,发现
tomcat
对应的java
进程
未随web容器关闭而销毁,进而
存在
僵尸java
进程
。多次shutdown以后会发现系统内存溢出,然后需要一个一个把
tomcat
的
进程
杀掉 问题原因 在
Linux
系统中当有非守护线程(即User Thread)
存在
,jvm不会退出(当JVM中所有的线程都是守护线程的时候,
解决
Linux
下
tomcat
的shutdown命令可以关闭
服务
但是杀不死
进程
的问题
基本原理为启动
tomcat
时记录启动
tomcat
的
进程
id(pid),关闭时强制杀死该
进程
。方案1:(推荐的方案:因为一台机器里可能有很多
tomcat
,不能kill所有)
Linux
下
tomcat
的shutdown命令可以关闭
服务
但是杀不死
进程
。方案2:(查找到所有的
tomcat
进程
,然后逐一杀死它们)一般造成这种原因是因为项目中有非守护线程的
存在
;方案3:(一次性杀死所有的
tomcat
进程
)一、从
Tomcat
上解决。
Linux/Unix社区
23,217
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章