如何通過命令行啟動停止 Apache Tomcat? 檢查 Tomcat 是否已經在運行並 Kill 命令
已發表: 2019-05-06 Apache Tomcat(或簡稱 Tomcat)是由 Apache Software Foundation (ASF) 開發的開源 Web 服務器和 servlet 容器。 Tomcat 實現了 Oracle Corporation 的 Java Servlet 和 JavaServer Pages ( JSP
) 規範,並為 Java 代碼運行提供了一個“純 Java” HTTP web server
環境。
如果您有以下任何問題,那麼您來對地方了:
- Tomcat 服務器在 localhost 所需的幾個端口(8080、8081、8082)已在使用中
- Tomcat 服務器錯誤 – 端口 8080 已在使用中
- 所需端口 8080 正在使用中
- 端口 8080 已經在使用 eclipse
- 如何在Windows中停止端口8080
我已將tomcat as Windows Service
。 將 Tomcat 作為 Windows 服務運行提供了許多在從開發設置轉移到生產環境時必不可少的好處。
優點 1) 設置可靠的開機自動啟動
- 在您可能希望在維護後遠程重新啟動 Java 系統而不擔心您的服務器是否會重新聯機的環境中必不可少。
Benefit-2) 設置 Tomcat 服務器啟動,無需主動用戶登錄
- 在數據中心,期望系統主動登錄只是為了運行 Tomcat 是不合理的。 事實上,Tomcat 經常在刀片服務器上運行,這些刀片服務器甚至可能沒有連接到它們的活動監視器。 Windows 服務歸系統所有,無需活動用戶即可啟動。
好處-3) 更好的安全性
最近我想通過命令行
start/stop
我的 Tomcat 服務器,因為我想創建快速的腳本來完成它。 官方文檔以//XX// ServiceName
的形式提供以下命令
可用的命令行選項有:
-
//TS//
將服務作為控制台應用程序運行 這是默認操作。 如果未提供任何選項,則調用它。 ServiceName是不帶exe後綴的可執行文件名,意思是Tomcat6 -
//RS//
運行服務只從ServiceManager調用 //SS//
停止服務//US//
更新服務參數//IS//
安裝服務//DS//
刪除服務 如果正在運行則停止服務
但是這樣做我發現下面的命令非常有用和簡單。
1) Windows(如果 Tomcat 設置為 Windows 服務)
-
Start
服務器:<Tomcat Root>/bin>Tomcat8.exe start -
Stop
服務器:<Tomcat Root>/bin>Tomcat8.exe stop
2) Windows(如果您已將二進製文件下載為 .zip)
-
Start
服務器:<Tomcat Root>/bin>catalina.bat start
-
Stop
服務器:<Tomcat Root>/bin>catalina.bat stop
3) Mac/Linux/Unix(如果您已將二進製文件下載為 .zip)
-
Start
服務器:<Tomcat Root>/bin>./catalina.sh start -
Stop
服務器:<Tomcat Root>/bin>./catalina.sh stop
以下是所有catalina.sh
命令參數:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Usage : catalina . sh ( commands . . . ) commands : debug Start Catalina in a debugger debug - security Debug Catalina with a security manager jpda start Start Catalina under JPDA debugger run Start Catalina in the current window run - security Start in the current window with security manager start Start Catalina in a separate window start - security Start in a separate window with security manager stop Stop Catalina , waiting up to 5 seconds for the process to end stop n Stop Catalina , waiting up to n seconds for the process to end stop - force Stop Catalina , wait up to 5 seconds and then use kill - KILL if still running stop n - force Stop Catalina , wait up to n seconds and then use kill - KILL if still running configtest Run a basic syntax check on server . xml - check exit code for result version What version of tomcat are you running ? |

啟動截圖:
如何檢查 Tomcat 是否已經在運行並終止現有的 tomcat 進程。
Step-1) 使用命令 ps -ef | 找出進程grep tomcat
1 2 3 |
bash - 3.2 $ ps - ef | grep tomcat 502 56188 1 0 7 : 31PM ttys001 0 : 04.23 / Library / Java / JavaVirtualMachines / jdk1 . 8.0_51.jdk / Contents / Home / bin / java - Djava . util . logging . config . file =/ Users / appshah / Downloads / apache - tomcat - 8.5.4 / conf / logging . properties - Djava . util . logging . manager = org . apache . juli . ClassLoaderLogManager - Djdk . tls . ephemeralDHKeySize = 2048 - classpath / Users / appshah / Downloads / apache - tomcat - 8.5.4 / bin / bootstrap . jar : / Users / appshah / Downloads / apache - tomcat - 8.5.4 / bin / tomcat - juli . jar - Dcatalina . base =/ Users / appshah / Downloads / apache - tomcat - 8.5.4 - Dcatalina . home =/ Users / appshah / Downloads / apache - tomcat - 8.5.4 - Djava . io . tmpdir =/ Users / appshah / Downloads / apache - tomcat - 8.5.4 / temp org . apache . catalina . startup . Bootstrap start 502 56618 55587 0 7 : 34PM ttys001 0 : 00.00 grep tomcat |
這裡第二列的值是一個進程 ID。 在我們的例子中,它是56188
。
您可以訪問鏈接http://localhost:8080
,您應該會看到歡迎頁面。
Step-2) 使用命令 kill -9 <process ID> 殺死進程
1 |
bash - 3.2 $ kill - 9 56188 |
這裡, 56188
是我們從步驟 1 中獲得的process ID
。
現在,鏈接http://localhost:8080/
不應該為您工作。