服务器: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出现,如下图:

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

  1. [root@sdc bin]# ./shutdown.sh
  2. Using CATALINA_BASE:   /opt/tomcat
  3. Using CATALINA_HOME:   /opt/tomcat
  4. Using CATALINA_TMPDIR: /opt/tomcat/temp
  5. Using JRE_HOME:        /usr/java/jdk1.6.0_22
  6. Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
  7. Apr 17, 2014 11:14:50 AM org.apache.catalina.startup.Catalina stopServer
  8. SEVERE: Could not contact localhost:8005. Tomcat may not be running.
  9. Apr 17, 2014 11:14:50 AM org.apache.catalina.startup.Catalina stopServer
  10. SEVERE: Catalina.stop: 
  11. java.net.ConnectException: Connection refused
  12. at java.net.PlainSocketImpl.socketConnect(Native Method)
  13. at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
  14. at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
  15. at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
  16. at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
  17. at java.net.Socket.connect(Socket.java:529)
  18. at java.net.Socket.connect(Socket.java:478)
  19. at java.net.Socket.<init>(Socket.java:375)
  20. at java.net.Socket.<init>(Socket.java:189)
  21. at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:498)
  22. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  23. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  24. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  25. at java.lang.reflect.Method.invoke(Method.java:597)
  26. at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:370)
  27. at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:457)
  28. [root@sdc bin]#

如下图:

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

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

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

在Linux系统里运行shutdown.sh命令关闭Tomcat时出现错误提示的更多相关文章

  1. 阿里云Tomcat运行shutdown.sh命令关闭时遇到的问题

    1.安装完成jdk之后,然后安装tomcat. tomcat安装成功后,进入tomcat的安装目录,找到bin所在的目录. 使用./startup.sh,启动tomcat; 使用./shutdown. ...

  2. Linux系统下的shutdown命令用于安全的关闭/重启计算机

    Linux系统下的shutdown命令用于安全的关闭/重启计算机,它不仅可以方便的实现定时关机,还可以由用户决定关机时的相关参数.在执行shutdown命令时,系统会给每个终端(用户)发送一条屏显,提 ...

  3. Linux系统下运行.sh文件

    在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个vip666.sh文件 #chmod +x *.sh的文件名 #./*.sh的文件名 第一种(这种办法需要用chmod使得文件具备 ...

  4. Linux 系统基础优化和常用命令

    目录 Linux 系统基础优化和常用命令 软连接 tar解压命令 gzip命令 netstart命令 ps命令 kill命令 killall命令 SELinux功能 iptables防火墙 Linux ...

  5. 运维 07 Linux系统基础优化及常用命令

    Linux系统基础优化及常用命令   Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令 ...

  6. Django项目:堡垒机(Linux服务器主机管理系统)--03--03堡垒机在Linux系统里记录会话日志02/02

    #main.py #本文件写所有的连接交互动作程序 # ————————————————03堡垒机在Linux系统里记录会话日志 开始———————————————— from Fortress im ...

  7. 【基础】Linux系统的运行级别

    1.系统运行级别的配置文件 什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别. 它让一些程序在一个级别启动,而另外一个级别的时候不启动. Linux系统的有效登录模式有0~9共十种, ...

  8. 使用mybatis assembly插件打成tar包,在linux系统中运行服务

    使用mybatis assembly插件打成tar包,在linux系统中运行服务 assembly插件插件地址: 链接:https://pan.baidu.com/s/1i6bWPxF 密码:gad5 ...

  9. linux系统下运行java项目的脚本编写

    本文主要讲linux系统下运行jar包,至于如何打包jar包,放到linux系统下可以参考其他的博客. 在linux系统下运行jar包的命令如下: 1.java -jar xxxxx.jar  //  ...

随机推荐

  1. 20172333 2017-2018-2 《Java程序设计》第10周学习总结

    20172333 2017-2018-2 <Java程序设计>第10周学习总结 教材学习内容 第十三章 集合是一个对象,一个保存其他对象的数据库. 集合可以保存不同种类的对象也可以保存同种 ...

  2. 20145214实验五 Java网络编程及安全

    20145214实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 实验步骤 我的结对伙伴是 20145219 宋歌,我负责的 ...

  3. oracle数据库之触发器

    触发器是许多关系数据库系统都提供的一项技术.在 ORACLE 系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的 PL/SQL 块. 一. 触发器类型 触发器在数据库里以独立的对象存储,它与 ...

  4. iOS- 封装单例宏

    在项目中,我们需要全局只有一个实例,节省不必要的内存,这时我们就需要使用里单例生成对象. 这时把单例的代码封装成宏,就能方便我们下次使用了. 在.h .m里直接导入头文件,调用 传入类名即可! sin ...

  5. TCP系列24—重传—14、F-RTO虚假重传探测

    一.虚假重传 在一些情况下,TCP可能会在没有数据丢失的情况下初始化一个重传,这种重传就叫做虚假重传(Spurious retransmission).发生虚假重传的原因可能是包传输中重排序.传输中发 ...

  6. PokeCats开发者日志(十三)

      现在是PokeCats游戏开发的第六十二天的晚上,把软著权登记证书的截图加上,又重新提交审核了一遍,但愿能过吧...

  7. cacti设置redis监控端口

    1.在Console->Data Templates中选择Redis的模版 在custom Data中勾选中Port2并保存 2.在Console->Data Input Methods中 ...

  8. HASH表的实现(拉链法)

    本文的一些基本概念参考了一部分百度百科,当然只保留了最有价值的部分,代码部分完全是自己实现! 简介 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据 ...

  9. 基于c++和opencv底层的图像旋转

    图像旋转:本质上是对旋转后的图片中的每个像素计算在原图的位置. 在opencv包里有自带的旋转函数,当你知道倾斜角度theta时: 用getRotationMatrix2D可得2X3的旋转变换矩阵 M ...

  10. perf record -c

    如果perf record -c -c后面接的是sample_period,也就是说你让这个事件没 我的loop进程一直在执行,我的CPU的频率是2.6G hz,也就是说每一秒会有2,600,000, ...