2

我设置:

$ export CATALINA_PID="$CATALINA_HOME/conf/catalina.pid"

启动Tomcat

$ ./bin/startup.sh
Using CATALINA_BASE:   /home/tomcats/apache-tomcat-7.0.53
Using CATALINA_HOME:   /home/tomcats/apache-tomcat-7.0.53
Using CATALINA_TMPDIR: /home/tomcats/apache-tomcat-7.0.53/temp
Using JRE_HOME:        /usr/java/jdk1.6.0_45/jre/
Using CLASSPATH:       /home/tomcats/apache-tomcat-7.0.53/bin/bootstrap.jar:/home/tomcats/apache-tomcat-7.0.53/bin/tomcat-juli.jar
Using CATALINA_PID:    /home/tomcats/apache-tomcat-7.0.53/conf/catalina.pid
Tomcat started.

检查 pid 文件:

$ cat /home/tomcats/apache-tomcat-7.0.53/conf/catalina.pid
28461

但是 - 没有过程28461

$ ps aux | grep 28461
tomcats  28599  0.0  0.0 103240   872 pts/0    S+   12:50   0:00 grep 28461

$ ps -p 28461
  PID TTY          TIME CMD

并且 Tomcat 的 JVM 使用其他 PID 运行:

$ ps u | grep tomcat | grep java | grep -v grep | cut -d" " -f 3
30133

Jason Brittain的《 Tomcat the Definitive Guide》一书中我们知道:

CATALINA_PID 这个变量可以选择保存 Tomcat 在启动和关闭时应该使用的进程 ID 文件的路径。没有任何

利用:

$ cat /etc/redhat-release
CentOS release 6.4 (Final)

所以,问题是:究竟CATALINA_PID变量需要什么或 - 为什么它返回错误的数字?

关闭问题 - 经过几次重新启动/杀死后,它现在运行良好......不知道为什么。

4

0 回答 0