我设置:
$ 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
变量需要什么或 - 为什么它返回错误的数字?
关闭问题 - 经过几次重新启动/杀死后,它现在运行良好......不知道为什么。