这将列出所有与Tomcat相关的进程。找到您要终止的进程,并记下其PID。 使用kill命令来结束该进程。将PID替换为您之前记下的实际值: kill -9 <PID> 这将向该进程发送一个终止信号。方法二:使用脚本文件 创建一个脚本文件(例如kill_tomcat.sh),并将以下内容粘贴到文件中: #!/bin/bash kill -9 $(ps -ef |...
第一步,tomcat执行shutdown.sh之后进程还存在,我们可以发现项目中存在非守护线Thread.currentThread().setDaemon(false);。 第二步,配置/usr/local/tomcat/bin/catalina.sh文件,可以记录tomcat进程PID。 在/usr/local/tomcat/bin/catalina.sh文件中添加代码得到下面的内容: # Get standard environment variables PRGDIR...
第一步 :vim修改tomcat下bin/catalina.sh文件,添加点东西,主要是记录tomcat的pid,如下: #设置记录CATALINA_PID。#该设置会在启动时候bin下新建一个CATALINA_PID文件#关闭时候从CATALINA_PID文件找到pid,kill。。。同时删除CATALINA_PID文件在PRGDIR=`dirname"$PRG"`后面加上:if[ -z"$CATALINA_PID"];thenCATALINA_...
首先需要调用Tomcat的Bootstrap类,然后再通过kill命名停止Tomcat进程。但是注意 到在这里使用kill命令发送的信号为SIGTERM(15),也就是说有可能不能停止Tomcat进程(如:进程未释放系统资源)。 下面先追踪一下Bootstrap类的实现: if(command.equals("startd")) { args[args.length-1] ="start"; daemon.load(args);...
在CentOS 下 shutdown.sh 发现 tomcat 并没有关闭,进程还在 ps -ef | grep tomcat 1. 网上找到的解释:原因是因为项目中有非守护线程的存在。 解决方案 第一步 :vim修改tomcat下bin/catalina.sh文件,添加点东西,主要是记录tomcat的pid,如下: PRGDIR=`dirname"$PRG"` ...
的CATALINA_PID文件来记录tomcat的进程ID 2、修改tomcat的shutdown.sh文件,在最后一行加上“-force”: 找到命令行: exec "$PRGDIR"/"$EXECUTABLE" stop "$@" 修改为:exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@" 保存即可。 3、结果展示
linux下(之所以强调linux下,是因为在windows下正常),执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访问了,但是ps -ef | grep java 后,发现tomcat对应的java进程未随web容器关闭而销毁,进而存在僵尸java进程。 刚开始百思不得其解,google下,发现存在一种说法是:有非守护线程(即User Thread)存在,jvm不会退...
的CATALINA_PID文件来记录tomcat的进程ID **2、修改tomcat的shutdown.sh文件,在最后一行加上“-force”: ** 找到命令行: exec “PRGDIR"/"PRGDIR"/"EXECUTABLE” stop “@"修改为:exec"@"修改为:exec"PRGDIR”/“EXECUTABLE"stop−force"EXECUTABLE"stop−force"@” ...
通过以上脚本,可以重启Tomcat。此方式的风险在于查找tomcat的进程ID是否准确,但可以一并杀掉因人为操作shutdown.sh而未关闭的进程。 2.Tomcat预留的窗口 在Tomcat的catalina.sh中预留了该问题的处理窗口,需进行以下配置: 在bin目录中创建文件,文件名为CATALINA_PID ...
昨天现场人员发来消息说tomcat开启了10多个进程,吓我一跳,因为我每次升级都执行shutdown.sh命令,并且这是官网提供的所以也没有怀疑,当我连现场查看时确实有这样的问题。 2、解决方法 方法一: 1、使用 ps -ef |grep tomcat 命令查看所有tomcat 进程。 2、关闭tomcat 进程 ...