内容简介:最近突然出现执行 tomcat/bin/shutdown.sh 停止 tomcat 失败的情况,报错如下:看了一下 catalina.sh: line 365 就是 stop 那里执行失败了,然后调用系统的 kill -15 杀死进程
最近突然出现执行 tomcat/bin/shutdown.sh 停止 tomcat 失败的情况,报错如下:
…… Using CATALINA_PID: tomcat/bin/CATALINA_PID ERROR: transport error 202: bind failed: 地址已在使用 ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690] FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) tomcat/bin/catalina.sh: line 365: 4589 已放弃 (core dumped) "jdk1.6.0_45/bin/java" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms2048m -Xmx2048m -XX:PermSize=512M -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8697 -Djava.endorsed.dirs="tomcat/endorsed" -classpath xxx org.apache.catalina.startup.Bootstrap stop The stop command failed. Attempting to signal the process to stop through OS signal. Tomcat stopped.
看了一下 catalina.sh: line 365 就是 stop 那里执行失败了,然后调用系统的 kill -15 杀死进程
再仔细看看报错,发现有端口被占用、 dt_socket failed to initialize
等提示,觉得应该是加了 debug 命令的原因,去掉就好了。
# tomcat/bin/catalina.sh JAVA_OPTS="-server -Xms2048m -Xmx2048m -XX:PermSize=512M -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8697"
但这个感觉也不太好,不能因噎废食呀。搜了下相关情况,发现是 JAVA_OPTS 用的不对,应该用 CATALINA_OPTS,因为 CATALINA_OPTS 变量在 stop 的时候不会被使用(如上图)。
所以最优的做法是使用 CATALINA_OPTS 变量设置 remote debug 相关参数。
# tomcat/bin/catalina.sh JAVA_OPTS="-server -Xms2048m -Xmx2048m -XX:PermSize=512M" CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8697"
参考资料
解决tomcat shutdown时的地址被占用问题, https://my.oschina.net/u/1770666/blog/370620
https://stackoverflow.com/questions/11222365/catalina-opts-vs-java-opts-what-is-the-difference
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 快速失败机制 & 失败安全机制
- 通过不断地失败来避免失败,携程混沌工程实践
- 快速失败(fail-fast)和安全失败(fail-safe)
- greenplum 集群启动失败
- Nginx 失败重试机制
- greenplum集群启动失败问题分析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Redis开发与运维
付磊、张益军 / 机械工业出版社 / 2017-3-1 / 89.00
本书全面讲解Redis基本功能及其应用,并结合线上开发与运维监控中的实际使用案例,深入分析并总结了实际开发运维中遇到的“陷阱”,以及背后的原因, 包含大规模集群开发与管理的场景、应用案例与开发技巧,为高效开发运维提供了大量实际经验和建议。本书不要求读者有任何Redis使用经验,对入门与进阶DevOps的开发者提供有价值的帮助。主要内容包括:Redis的安装配置、API、各种高效功能、客户端、持久化......一起来看看 《Redis开发与运维》 这本书的介绍吧!