一、场景
1、执行shutdown.sh脚本关闭tomcat报错
二、报错信息
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 [debugInit.c:750]
示例图如下
三、原因
tomcat开启了远程调试功能
查看tomcat是否开启远程调试功能
1、进入tomcat的bin目录,查看catalina.sh
发现确实开启了远程调试
export JAVA_OPTS='-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=192.168.1.233:5587'
四、解决
方式1、通过IDEA
连接远程调试的端口后,再执行shutdown.sh
开启远程调试功能可以参考:http://t.csdnimg.cn/BStrI
先连接远程调试的端口
2、再执行shutdown.sh
方式2、为catalina.sh
新增以下配置
pid的名称可以自定义
CATALINA_PID=/var/run/tomcat8_cloud_web_8087.pid
新增以上配置后,shutdown.sh即可正常关闭tomcat
注意:如果是在tomcat运行期间新增以上配置,需要先关闭tomcat,重启后即可使用shutdown.sh正常关闭tomcat