Tomcat不会停止或重启

The*_*der 27 tomcat catalina

我试着阻止tomcat.它失败了这条消息:

  • Tomcat没有及时停下来.PID文件未被删除.

然后我再次尝试并得到了这个:

  • 找到PID文件(/opt/tomcat/work/catalina.pid)但未找到匹配的进程.停止中止.

然后我尝试在调试模式下启动tomcat并获得:

  • 找到PID文件(/opt/tomcat/work/catalina.pid).Tomcat还在运行吗?开始中止.

我删除了/opt/tomcat/work/catalina.pid并尝试重启并得到了这个:

  • 已设置$ CATALINA_PID(/opt/tomcat/work/catalina.pid),但指定的文件不存在.Tomcat正在运行吗?停止中止.

有谁知道如何让tomcat重启?

nyx*_*yxz 6

确保 Tomcat 当前未运行并且 PID 文件已删除。这样您就可以成功启动 Tomcat。

如果你重新开始,那么:

  1. 在 中创建setenv.sh文件<CATALINA_HOME>/bin
  2. 我在其中设置了CATALINA_PID=/tmp/tomcat.pid(或您选择的其他目录),以便您可以更好地控制 Tomcat 进程。

然后启动Tomcat找到catalina.sh<CATALINA_HOME>/bin执行:

./catalina.sh start
Run Code Online (Sandbox Code Playgroud)

并停止它运行:

./catalina.sh stop 10 -force
Run Code Online (Sandbox Code Playgroud)

来自catalina.sh脚本的文档:

./catalina.sh

Usage: catalina.sh ( commands ... )
commands:

start             Start Catalina in a separate window
stop              Stop Catalina, waiting up to 5 seconds for the process to end
stop n            Stop Catalina, waiting up to n seconds for the process to end
stop -force       Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running
stop n -force     Stop Catalina, wait up to n seconds and then use kill -KILL if still running
Run Code Online (Sandbox Code Playgroud)

注意:如果您想使用-force标志,则CATALINA_PID必须进行设置。


Sca*_*ast 6

我在Linux服务器上启动了第二个 Tomcat服务器时出现此错误消息.

$CATALINA_PID was set but the specified file does not exist. Is Tomcat running? Stop aborted.
Run Code Online (Sandbox Code Playgroud)

在启动第二个Tomcat时,我按照要求设置了CATALINA_PID,但我的错误是将其设置为一个目录(我假设Tomcat会在那里用pid写一个默认文件名).

修复只是改变我的CATALINA_PID以在其末尾添加文件名(我从上面的例子中选择了catalina.pid).接下来我去了目录并做了一个简单的事情:

touch catalina.pid
Run Code Online (Sandbox Code Playgroud)

创建正确名称的空文件.然后,当我完成shutdown.sh时,我收到消息说:

PID file is empty and has been ignored.
Tomcat stopped.
Run Code Online (Sandbox Code Playgroud)

我没有选择杀死Tomcat,因为JVM正在使用中,所以我很高兴我找到了这个.


The*_*der 4

看来Tomcat确实被停止了。我开始了,一切开始都很好。谢谢大家。