Windows下tomcat進(jìn)程管理

在windows下使用tomcat有時(shí)候很糟心,因?yàn)槭褂胻omcat下自帶的批處理腳本很慢,如果不上熱部署,那么改一點(diǎn)重啟一點(diǎn),非常糟心。當(dāng)然,還是建議上熱部署。
下面是之前開(kāi)發(fā)的過(guò)程中找到的一個(gè)極好的辦法。適用情況tomcat8,端口8080(端口在腳本可以改)。當(dāng)然,建議安裝tomcat的時(shí)候選擇exe的安裝,一方面,夠簡(jiǎn)單,而且直接會(huì)把環(huán)境變量添加到windows下,免去了配置的麻煩;另一方面,用我下面的腳本會(huì)非常方便,直接殺死tomcat進(jìn)程,啟動(dòng)關(guān)閉再也不用等了。哈哈哈哈哈哈....

  • 關(guān)閉tomcat進(jìn)程

@echo off
REM ________________________________獲取管理員權(quán)限________________________________

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM 判斷是否具有管理員權(quán)限
if '%errorlevel%' NEQ '0' (
REM 若沒(méi)有取管理員權(quán)限   
    goto UACPrompt

) else ( goto gotAdmin )

:UACPrompt

    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"

    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"

    exit /B

:gotAdmin

    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )

    pushd "%CD%"

    CD /D "%~dp0"

REM __________________________________關(guān)閉tomcat8080端口______________________________

REM 關(guān)閉tomcat的8080端口
setlocal enabledelayedexpansion
for /f "tokens=5 delims= " %%a in ('netstat -aon ^| findstr "8080"') do (
    set a=%%a
   
)

taskkill /pid !a! /f && goto 1 || goto 2
:1 
echo "tomcat  關(guān)閉成功"
pause>nul
exit
:2 
echo "tomcat  關(guān)閉失敗,請(qǐng)使用管理員權(quán)限運(yùn)行"
pause>nul
exit

  • 啟動(dòng)tomcat進(jìn)程
@echo off

REM ________________________________________________________________

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM 判斷是否具有管理員權(quán)限
if '%errorlevel%' NEQ '0' (
REM 若沒(méi)有取管理員權(quán)限   
    goto UACPrompt

) else ( goto gotAdmin )

:UACPrompt

    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"

    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"

    exit /B

:gotAdmin

    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )

    pushd "%CD%"

    CD /D "%~dp0"

REM ________________________________________________________________

net start tomcat8

pause & exit

  • 附上windows相關(guān)dos命令
    查詢所有的端口被占用的情況
netstat  -ano

查詢端口號(hào)所對(duì)應(yīng)的PID,以8080為例

netstat -ano | findstr "8080"

根據(jù)查詢的PID找到對(duì)應(yīng)的進(jìn)程

tasklist|findstr "5264"

刪除對(duì)應(yīng)的PID(有的需要管理員權(quán)限)

taskkill /f /pid "進(jìn)程號(hào)"

結(jié)束某個(gè)進(jìn)程

taskkill /f /t /im tor.exe
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容