若是你一直在Windows下使用Tomcat,那麼你必定會知道:在運行Tomcat的時候,會彈出新的控制檯窗口,然 後相關的服務器狀態信息以及程序運行過程當中輸出的信息都會在這個新窗口中顯示出來。可是到了Linux,自帶的shell文件並不會打開一個新的終端窗 口,這使得一些Linux新手(包括我)調試程序的時候遇到很多麻煩。這個問題該如何解決呢?
首 先,咱們得知道那些在Windows的控制檯中顯示的信息到如今都跑到哪裏去了。這個問題不難,就在logs目錄的兩個文件中,一個是 catalina.out,一個則是localhost.[日期].log。原來在默認的狀況下,Tomcat在Linux中是將信息輸出到日誌文件中 了。這樣一來,咱們就有解決辦法了,要麼改變信息的輸出方式,要麼就想辦法監測那兩個日誌文件。最後,我選擇了後者,具體的作法很簡單:使用tail命令 加上f參數便可,其中f參數的含義就是「即時輸出文件變化後追加的數據」。具體的命令爲:tail -f catalina.out。java
ALT+F2 輸入 gnome-terminal便可打開終端linux
關閉shell
shutdown.sh -sapache
啓動bootstrap
cd /usr/local/apache-tomcat-6.0.10/bin/api
2 ./startup.sh tomcat
3 ./catalina.sh run(顯示信息啓動,關掉會關閉TOMCAT)服務器
linux kill某一用戶的全部tomcat進程spa
ps aufx|grep tomcat|grep root|awk '{print $2}'|xargs kill -9調試
509替換爲要kill的用戶名
有時直接用shutdown.sh關閉不了tomcat,要強制kill掉,可是可能tomcat啓動了屢次,進程裏已經有了多個tomcat進程,一個一個關閉至關麻煩,能夠使用以上命令一次性關閉某一個用戶全部tomcat進程。
#看是否已經有tomcat在運行了
ps -ef |grep tomcat
#若是有,用kill;
kill -9 pid #pid 爲相應的進程號
例如 pe -ef |grep tomcat 輸出以下
sun 5144 1 0 10:21 pts/1 00:00:06 /java/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/java/tomcat/common/endorsed -classpath :/java/tomcat/bin/bootstrap.jar:/java/tomcat/bin/commons-logging-api.jar -Dcatalina.base=/java/tomcat -Dcatalina.home=/java/tomcat -Djava.io.tmpdir=/java/tomcat/temp org.apache.catalina.startup.Bootstrap start
則 5144 就爲進程號 pid = 5144kill -9 5144 就能夠完全殺死tomcat