在Linux系统里运行shutdown.sh命令关闭Tomcat时出现错误提示

时间:2024-01-09 10:48:50

服务器:linnux 5.5 64位,已安装好 jdk;

Tomcat版本:apache-tomcat-7.0.53

操作软件:Xshell 4(Free for Home / School)

刚开始重启了一次tomcat,但用浏览器访问网站的时候一直卡着打不开,可能是tomcat的问题,于是在Xshell里输入命令 ps -ef|grep java 查看进程中是否有tomcat出现,如下图:

在Linux系统里运行shutdown.sh命令关闭Tomcat时出现错误提示

出现如上信息,说明tomcat进程存在,再次运行shutdown.sh和ps -ef|grep java看到该进程仍然无法结束,于是我强制结束该进程。要命的时,我kill错了进程,如上图,本应是kill掉29053,但却把29378给kill掉了,导致的后果是再次运行shutdown.sh的时候,出现了以下的错误。

[root@sdc bin]# ./shutdown.sh
Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.6.0_22
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Apr 17, 2014 11:14:50 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact localhost:8005. Tomcat may not be running.
Apr 17, 2014 11:14:50 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop: 
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:189)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:498)
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.stopServer(Bootstrap.java:370)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:457)
[root@sdc bin]#

如下图:

在Linux系统里运行shutdown.sh命令关闭Tomcat时出现错误提示

反复操作,问题仍然没有解决,包括用reboot命令重启linux系统一样不行。

但奇怪的是,过了十多分钟后,分别再次运行shutdown.sh和startup.sh,发现上述问题已经不出现了,tomcat又恢复了正常,不知道是怎么回事。

事后又出现多次这样的问题,后来终于发现原来是tomcat内存太小了,需要给tomcat增加虚拟内存,增加了tomcat的内存后,问题得以解决,终于可以再次关闭或启动tomcat了。点击这里查看:在linux系统里修改tomcat内存的方法