[英]Determine if Tomcat is running in Windows using the command prompt
使用SC命令測試 Tomcat 服務的狀態。 MJB 已經建議使用 SC 測試服務狀態,另一個用於測試狀態的批處理腳本(沒有 FOR 循環):
@ECHO OFF
SC query tomcat5 | FIND "STATE" | FIND "RUNNING" > NUL
IF ERRORLEVEL 1 (
ECHO Stopped
) ELSE (
ECHO Running
)
如果您不確定服務名稱是否為tomcat5 ,您可以列出所有服務名稱
SC query state= all | FIND "SERVICE_NAME"
您可以使用 tasklist 檢查 tomcat 可執行文件是否正在運行。 例如:
@echo off
tasklist /FI "IMAGENAME eq tomcat.exe" | find /C /I ".exe" > NUL
if %errorlevel%==0 goto :running
echo tomcat is not running
goto :eof
:running
echo tomcat is running
:eof
也可以使用選項/S
、 /U
和/P
檢查刪除服務器。 查看tasklist /?
詳情。
這是問題中提出的基於 netstat 的 UNIX/LINUX 解決方案的 Windows 版本:
@echo off
netstat -na | find "LISTENING" | find /C /I ":8080" > NUL
if %errorlevel%==0 goto :running
echo tomcat is not running
goto :eof
:running
echo tomcat is running
:eof
使用WMIC
@echo off
wmic process list brief | find /i "tomcat.exe"
set result=%ERRORLEVEL%
if "%result%"=="1" echo "not running"
if "%result%"=="0" echo "running"
注意:/i 是為了使查找操作不區分大小寫。
在命令提示符下使用 netstat -a。
你會發現那里列出了 8080 端口。
如果您為 Windows 運行 Tomcat不像服務並且不想利用 JMX,那么最好的方法是
for /F %%I in ('tasklist /FI "WINDOWTITLE eq Tomcat" /NH') do if %%I==java.exe goto alreadyRun
在哪里:
好吧,我不太擅長腳本,但也許你可以以此為起點:
網絡統計-a -n | findstr:8005
獲取是否有人在監聽端口 8005。這是 Tomcat 用於遠程管理的默認端口,即啟動或關閉。
或者,您可以使用 http 服務器偵聽的端口。
希望這可以幫助
我通過從命令行調用 vb 腳本來檢查它
cscript //nologo checkurl.vbs | findstr "200"
IF errorlevel 1 GOTO :not_running
將以下腳本另存為 checkurl.vbs 並將 ip 替換為機器 ip
' Create an HTTP object
myURL = "http://10.1.1.1:8080/"
Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )
' Download the specified URL
objHTTP.Open "GET", myURL, False
On Error Resume Next
objHTTP.Send
intStatus = objHTTP.Status
If intStatus = 200 Then
WScript.Echo intStatus
Else
WScript.Echo "Error Connecting"
End If
我在使用sc query
命令時遇到問題,因為即使 tomcat 崩潰,該服務仍會顯示為正在運行,而實際上端口無法訪問
還有另一種選擇,因為這可能作為服務運行
FOR /F "tokens=4 delims= " %%A IN ('SC QUERY tomcat5 ^| FIND "STATE"') DO SET status=%%A
echo "%status%"
狀態可以是 STOPPED、RUNNING...
您可以嘗試搜索進程並提取該行
例如:
ps|grep tomcat
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.