在Linux系统下,启动和关闭Tomcat使用命令操作。
进入Tomcat下的bin目录
1
|
cd /java/tomcat/bin |
启动Tomcat命令
1
|
. /startup .sh |
停止Tomcat服务命令
1
|
. /shutdown .sh |
执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访问了,但是ps -ef | grep tomcat 后,发现tomcat对应的java进程未随web容器关闭而销毁,进而存在僵尸java进程。网上看了下导致僵尸进程的原因可能是有非守护线程(即User Thread)存在,jvm不会退出(当JVM中所有的线程都是守护线程的时候,JVM就可以退出了;如果还有一个或以上的非守护线程则JVM不会退出)。通过一下命令查看Tomcat进程是否结束:
1
|
ps -ef| grep tomcat |
若显示一下相似信息,说明Tomcat进程未结束
1
|
gateway 14705 14703 12 08:29 pts /0 00:03:10 /www/websoft/java/java1/jdk1 .7.0_25 /jre/bin/java -Djava.util.logging.config. file = /www/websoft/tomcat1/conf/logging .properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms1536m -Xmx1536m -Xss256k -XX:MaxPermSize=512m -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:+UseParallelOldGC -XX:MaxGCPauseMillis=100 -XX:+UseAdaptiveSizePolicy -Djava.endorsed. dirs = /endorsed -classpath /www/websoft/tomcat1/bin/bootstrap .jar: /www/websoft/tomcat1/bin/tomcat-juli .jar -Dcatalina.base= /www/websoft/tomcat1 -Dcatalina.home= /www/websoft/tomcat1 -Djava.io.tmpdir= /www/websoft/tomcat1/temp org.apache.catalina.startup.Bootstrap start |
此时我们可强制结束该进程(僵尸进程)
1
|
kill -9 14705 |
上一命令执行完毕后,重新查看Tomcat进程情况,Tomcat已完全停止。