运行shutdown.sh,tomcat停止, 但它的java进程还在, 不过状态为S(sleep), 不是运行时的R(Runnable), 如果不kill的话, 这种进程越来越多,导致JVM进程越来越多, 占据了大量的内存空间, 有可能使得新程序在启动JVM时由于内存不够用而无法启动。
kill强制杀死进程
若显示以下内容代表使用的java进程还存在,没有完全停止
1 2 3 4 5
| root 50530 1 99 10:25 pts/0 00:00:45 /usr/local/java/jdk1.7.0_51/jre/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/apache-tomcat-7.0.92/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/apache-tomcat-7.0.92/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-7.0.92/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat/apache-tomcat-7.0.92 -Dcatalina.home=/usr/local/tomcat/apache-tomcat-7.0.92 -Djava.io.tmpdir=/usr/local/tomcat/apache-tomcat-7.0.92/temp org.apache.catalina.startup.Bootstrap start
root 50934 48933 0 10:26 pts/0 00:00:00 grep --color=auto java
|
使用kill命令,杀死进程
tomcat 解决
在tomcat/bin/shutdown.sh文件中增加一个参数
1 2 3
| exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"
|
在tomcat/bin/catalina.sh脚中,加入下面这三行
1 2 3 4 5 6 7
| if [ -z "$CATALINA_PID" ]; then
CATALINA_PID=$PRGDIR/CATALINA_PID
cat $CATALINA_PID
fi
|