免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1723 | 回复: 0
打印 上一主题 下一主题

[Web] tomcat关闭报错 [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-10-11 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-03-19 12:11 |只看该作者 |倒序浏览
我的tomcat在关闭时老是失败,要借助于kill -9 pid可是这样毕竟不怎么好,在网找到方法说用
#jstack PID

"Finalizer" daemon prio=10 tid=0xb6c34400 nid=0x2e9a in Object.wait() [0xb4976000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x843bed40> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:11
        - locked <0x843bed40> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0xb6c32c00 nid=0x2e99 in Object.wait() [0xb49c7000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x843bedd0> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x843bedd0> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0xb6c04c00 nid=0x2e97 runnable [0xb6df1000]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:40
        - locked <0x8491a538> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:462)
        at java.net.ServerSocket.accept(ServerSocket.java:430)
        at org.apache.catalina.core.StandardServer.await(StandardServer.java:452)
        at org.apache.catalina.startup.Catalina.await(Catalina.java:766)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:712)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)

"VM Thread" prio=10 tid=0xb6c28400 nid=0x2e98 runnable

"VM Periodic Task Thread" prio=10 tid=0xb6c3e000 nid=0x2e9e waiting on condition

JNI global references: 1423

红色标记部分可以看到线程名和是否为deamon线程。没有标记为deamon的几个线程正好是我创建的线程,所以我要将其设置为deamon,于是在对应的Thread构造函数添加了一句
this. setDaemon(true);
kill掉tomcat后再重新尝试。
这里我想问一下,这个对应的Thead在哪个文件内呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP