我安装了tomcat 6.0.32,并在上面运行了我的web应用程序。当tomcat正确启动或停止时,通常的stop/start工作正常。但是,当我试图在启动过程中停止tomcat时,停止失败。
$service tomcat6 stop
Stopping tomcat6: [FAILED]日志中的错误是:
SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:422)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:338)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:416)我也试过使用暴力,但它不起作用。有人知道我们该怎么解决这个问题吗?
注意:我能够在启动过程中停止tomcat6 (6.0.24),但它在6.0.32版本中不起作用。任何帮助/信息都将是很大的帮助!
发布于 2011-06-29 17:13:25
这是为了帮助任何遇到同样问题的人。请记住,我没有解释如何改变工作,但它解决了我的问题,所以张贴给其他人。
/etc/init.d/tomcat6中有一个名为"parseOption“的函数,用于解析配置文件中指定的配置。这个函数在其他函数stop/start中被调用,并且在解析配置时工作得很好,如上面的输出所示。
在stop函数内部,它最初的调用方式如下:
if [ -f "/var/lock/subsys/${NAME}" ]; then
parseOptions
$SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} stop" >> $TOMCAT_LOG 2>&1我将上面的内容更改为:
if [ -f "/var/lock/subsys/${NAME}" ]; then
$SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} stop" >> $TOMCAT_LOG 2>&1
parseOptions而且它起作用了。我能够在启动过程中阻止tomcat。stop函数的其余部分也会正确执行,删除pid文件,终止进程...tomcat在启动模式和启动模式下的实现有何不同尚不清楚,因为在启动模式下,常规的stop在没有任何更改的情况下工作得很好。
https://stackoverflow.com/questions/6457410
复制相似问题