linux下tomcat的shutdown命令杀不死进程
tomcat在windows下可以直接关闭,但是貌似在Linux下有时候shutdown.sh 没有关闭tomcat进程;国庆前最后一天没事,解决你
~~~~
现象:
在Linux下shutdown.sh ,然后查看tomcat进程发现没有完全关闭;
#查看tomcat进程是否关闭语句
ps -ef | grep tomcat
实验:(为什么原来在Linux下没有发现这个问题呢???)
实验一:
安装一个纯净的tomcat放在linux上,启动—>查看tomcat进程—>关闭–>查看tomcat进程。。。。。。。。。。。发现关闭后没有tomcat的进程啊啊啊
实验二:
将项目丢进tomcat, 启动—> 查看进程—> 关闭—> 查看进程。。。。。。。。tomcat的进程还在!!!!!!
网上查找出来解释:一般造成这种原因是因为项目中有非守护线程的存在(关于守护线程阅读下面文章)
解决:
两个思路,1、从程序上根本解决。 2、从tomcat上解决
一: 从程序上解决(要求较高,项目底层代码的修改)
在项目中找到对应new Thread的地方setDaemon(true),后面shutdown就没有tomcat进程了;
二: 从tomcat解决
- 解决方案一:
#查找到所有的tomcat进程
$ ps -ef | grep tomcat
#然后逐一杀死它们
$ ps -9 pid
- 解决方案二:
$ kill -9 `ps -ef|grep tomcat|awk '{print $2}'`
- 解决方案三:
基本原理为启动tomcat时记录启动tomcat的进程id(pid),关闭时强制杀死该进程
第一步 :vim修改tomcat下bin/catalina.sh文件,添加点东西,主要是记录tomcat的pid,如下:
#设置记录CATALINA_PID。
#该设置会在启动时候bin下新建一个CATALINA_PID文件
#关闭时候从CATALINA_PID文件找到pid,kill。。。同时删除CATALINA_PID文件
if [ -z "$CATALINA_PID" ]; then
CATALINA_PID=$PRGDIR/CATALINA_PID
fi
第二步 vim tomcat的shutdown.sh文件,在最后一行加上-force:
方案三是最适合的(因为一台机器里可能有很多tomcat,不能kill所有吧)
验收结果:
启动tomcat,看到使用了CATALINA_PID
关闭tomcat,看到使用CATALINA_PID,kill了tomcat进程,同时删除了CATALINA_PID文件
查看tomcat进程,,,,无~~~~
linux下tomcat的shutdown命令杀不死进程的更多相关文章
- 转 解决linux下tomcat的shutdown命令杀不死进程
tomcat在windows下可以直接关闭,但是貌似在Linux下有时候shutdown.sh 没有关闭tomcat进程; 现象:在Linux下shutdown.sh ,然后查看tomcat进程发现没 ...
- Linux下tomcat的shutdown命令可以关闭服务但是杀不死进程
Linux下tomcat的shutdown命令可以关闭服务但是杀不死进程 原因: 一般造成这种原因是因为项目中有非守护线程的存在: 解决方案: 一.从Tomcat上解决 方案1:(推荐的方案:因为一台 ...
- Linux 下Tomcat的启动、关闭、杀死进程
Linux下Tomcat的启动.关闭.杀死进程 打开终端 cd /java/tomcat #执行 bin/startup.sh #启动tomcat bin/shutdown.sh #停止tomcat ...
- linux下tomcat相关的命令
1.查看Tomcat是否以关闭 ps -ef|grep tomcat 2.直接干掉Tomcat可以使用kill命令,直接杀死Tomcat进程(这个命令用在当你关闭tomcat报错的时候直接杀死进程) ...
- Linux下Tomcat启动关闭命令
1.首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 2.查看Tomcat是否以关闭 ps -ef|grep tomcat 如果显示以下信息,说明Tomcat还没 ...
- linux下不能使用shutdown命令
命令查看: #echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/sbin;/ ...
- Linux下Tomcat的启动、关闭、杀死进程
打开终端 cd /java/tomcat #执行 bin/startup.sh #启动tomcat bin/shutdown.sh #停止tomcat tail -f logs/catalina.ou ...
- linux下tomcat服务的相关命令
一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/loca ...
- Linux下tomcat服务
一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/loca ...
随机推荐
- SQL2008代理作业出现错误: c001f011维护计划创建失败的解决方法
SQL2008数据库总会出现从 IClassFactory 为 CLSID 为 {17BCA6E8-A95D-497E-B2F9-AF6AA475916F} 的 COM 组件创建实例失败,原因是出现以 ...
- 揭秘史上最完美一步到位的搭建Andoriod开发环境
Windows环境下Android开发环境搭建虽然不难而且网上资料众多,但是众多资料如出一折 忽略了很多细节,最终还是没能达到满意效果. 基本步骤如下:JDK安装.环境变量配置.Eclipse下载.A ...
- dev GridView常用属性,事件
一.属性 1.GridControl属性 //允许拖拽行 gridControl1.AllowDrop = true; 2.GridView属性 //不可编辑 gridView1.OptionsBeh ...
- requirejs基础教程
一.初识requirejs 随着网站功能逐渐丰富,网页中的js也变得越来越复杂和臃肿,原有通过script标签来导入一个个的js文件这种方式已经不能满足现在互联网开发模式,我们需要团队协作.模块复用. ...
- 10 个实用技巧,让 Finder 带你飞
Finder 是 Mac 电脑的系统程序,有的功能类似 Windows 的资源管理器.它是我们打开 Mac 首先见到的「笑脸」,有了它,我们可以组织和使用 Mac 里的几乎所有东西,包括应用程序.文件 ...
- [已解决] git 重命名文件夹
git mv oldfolder newfolder 原文地址:http://www.cnblogs.com/gifisan/p/5980608.html
- 关于Java加载属性文件放在web容器不好使的解决办法
//使用Spring的工具就行了1 import java.util.Properties; import org.springframework.core.io.support.Properties ...
- Spring MVC之@RequestBody, @ResponseBody 详解
http://blog.csdn.net/kobejayandy/article/details/12690555
- 1006. Sign In and Sign Out (25)
At the beginning of every day, the first person who signs in the computer room will unlock the door, ...
- URi和Url格式
1.主要的区别 url一定是有scheme. uri不一定有scheme,可以是相对和绝对的.(相对是依赖环境的) 2.uri的结构(3种划分) 1)[scheme:]scheme-specific- ...