在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已完全停止。