Linux下tomcat的shutdown命令可以关闭服务但是杀不死进程
Linux下tomcat的shutdown命令可以关闭服务但是杀不死进程
原因:
一般造成这种原因是因为项目中有非守护线程的存在;
解决方案:
一、从Tomcat上解决
方案1:(推荐的方案:因为一台机器里可能有很多tomcat,不能kill所有)
基本原理为启动tomcat时记录启动tomcat的进程id(pid),关闭时强制杀死该进程
(1),在tomcat/bin/catalina.sh脚本的代码前,加入以下语句:
##################################################
if [ -z "$CATALINA_PID" ]; then
CATALINA_PID=$PRGDIR/CATALINA_PID
cat $CATALINA_PID
fi
##################################################
(2),在tomcat/bin/shutdown.sh文件,在最后一行加上-force:
原来的 exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
增加参数后 exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"
方案2:(查找到所有的tomcat进程,然后逐一杀死它们)
#查找到所有的tomcat进程
#ps -ef | grep tomcat #然后逐一杀死它们
#kill -9 pid
方案3:(一次性杀死所有的tomcat进程)
#kill -9 `ps -ef|grep tomcat|awk '{print $2}'`
二、从程序上解决
方案1:(要求较高,项目底层代码的修改)
在项目中找到对应new Thread的地方setDaemon(true),后面shutdown就没有tomcat进程了;
Linux下tomcat的shutdown命令可以关闭服务但是杀不死进程的更多相关文章
- linux下tomcat的shutdown命令杀不死进程
tomcat在windows下可以直接关闭,但是貌似在Linux下有时候shutdown.sh 没有关闭tomcat进程:国庆前最后一天没事,解决你~~~~ 现象: 在Linux下shutdown.s ...
- 转 解决linux下tomcat的shutdown命令杀不死进程
tomcat在windows下可以直接关闭,但是貌似在Linux下有时候shutdown.sh 没有关闭tomcat进程; 现象:在Linux下shutdown.sh ,然后查看tomcat进程发现没 ...
- linux下tomcat服务器的启动和关闭以及查看实时打印日志
本页面中的操作都在tomcat的bin目录下 <一> 一般我都是使用: ./shutdom.sh //关闭tomcat ./startup.sh //开启tomcat服务 <二> ...
- linux下tomcat相关的命令
1.查看Tomcat是否以关闭 ps -ef|grep tomcat 2.直接干掉Tomcat可以使用kill命令,直接杀死Tomcat进程(这个命令用在当你关闭tomcat报错的时候直接杀死进程) ...
- linux下不能使用shutdown命令
命令查看: #echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/sbin;/ ...
- Linux下Tomcat服务器重启与关闭
Linux下Tomcat重新启动 详细请参照原网站链接http://www.cnblogs.com/tovep/articles/2473147.html 在Linux系统下,重启Tomcat使用命令 ...
- 阿里云OneinStack,Linux下tomcat命令
阿里云OneinStack,Linux下tomcat命令 Linux下如何查看tomcat是否启动在Linux系统下,重启Tomcat使用命令操作的首先,进入Tomcat下的bin目录cd /usr/ ...
- linux下tomcat服务的启动、关闭与错误跟踪
linux下tomcat服务的启动.关闭与错误跟踪,远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务: 1).启动tomcat服务 进入tomcat主目录下的bin目录,然后执行如下 ...
- Linux下Tomcat重新启动,及kill命令的使用
Linux下Tomcat重新启动,及kill命令的使用 首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh 查 ...
随机推荐
- BZOJ2200 道路和航线【好题】【dfs】【最短路】【缩点】
2200: [Usaco2011 Jan]道路和航线 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 1384 Solved: 508[Submit] ...
- windows远程访问ubuntu下的jupyter notebook必要配置
0.生成配置文件(一般采用默认) jupyter notebook --generate-config 1.打开ipython, 创建一个密文密码 In [1]: from notebook.auth ...
- 安装XP时BIOS的设置(ahci ide)
和以前使用Windows XP一样,很多用户都在设法提高Windows 7的系统运行速速,比较常见的方法大多是对系统服务进行优化,去掉一些可有可无的系统服务,还有就是优化资源管理器菜单等.除此之外,还 ...
- rank() over,dense_rank(),row_number() 的区别
转自:https://jingyan.baidu.com/article/597035521ff2ec8fc107404b.html rank() over是的作用是查出指定条件后进行一个排名,但是有 ...
- Bone Collector--hdu2602(01背包)
Problem Description Many years ago , in Teddy’s hometown there was a man who was called “Bone Collec ...
- nodejs(三)Buffer module & Byte Order
一.目录 ➤ Understanding why you need buffers in Node ➤ Creating a buffer from a string ➤ Converting a b ...
- BUG笔记:Firefox select选项右侧边框没了
Firefox 的default select在某些情况下右侧边框会消失.截图如下: 这个目前为止没有看到有任何解决方案,HACK也没有...囧... 有高人知道吗?
- windows平台mysql密码设置
登录mysql默认没有指定账号 查看默认账号是谁 select user(); mysql> select user();+----------------+| user() |+------- ...
- appstore加速审核通道
申请入口:https://developer.apple.com/contact/app-store/?topic=expedite
- myeclipse maven工程调试调试
1:使用了maven带的tomca插件进行启动.下面讲一下如何进行调试程序 2:在程序中打断点 3:选择>debug>debug configuration 在goals处添加启动命令 4 ...