bat批處理-根據(jù)進程名關(guān)閉占用服務(wù)端口進程(適用于各種軟件調(diào)試端口)
[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!
日常工作中,經(jīng)常安裝一些軟件,經(jīng)常會占用各種端口,搞的都無法啟動,很是頭疼,常用IDEA,經(jīng)常遇到右上角停止不了項目的問題(導(dǎo)致IDEA假死),特別是微服務(wù)項目打開任務(wù)管理器結(jié)束進程又分不清要結(jié)束哪些進程,故有此想法,寫個批處理,方便快捷,此批處理也適用其他服務(wù)進程(如:php.exe等)。
java進程示意圖:
根據(jù)進程名關(guān)閉占用服務(wù)端口進程.bat源碼
@echo off setlocal enabledelayedexpansion :start1 title 根據(jù)進程名關(guān)閉占用服務(wù)端口的進程。 echo. rem 清空進程名,防止使用上次輸入的進程名稱 set pname= set /p pname=請輸入需要關(guān)閉占用服務(wù)端口的進程名(直接回車,默認為java.exe): rem 如果用戶未輸入,則默認為java.exe if not defined pname ( echo 用戶未輸入進程名,默認為java.exe set pname=java.exe ) echo. echo 檢查%pname%進程開始 rem 根據(jù)進程名遍歷進程信息 for /f "delims=" %%i in ('tasklist^|findstr "%pname%"') do ( rem 遍歷進程信息獲取進程PID for /f "tokens=2 delims= " %%b in ("%%i") do ( rem 記錄進程PID set pid=%%b rem 記錄進程占用服務(wù)端口信息 set ports= rem 遍歷進程PID占用服務(wù)端口信息 for /f "delims=" %%a in ('netstat -nao^|findstr %%b^|findstr "LISTENING"^|find "[::]:0"') do ( for /f "tokens=2,5 delims= " %%a in ("%%a") do ( if defined ports ( set ports=!ports!、%%a ) if not defined ports ( set ports=%%a ) ) ) rem 如果占用了服務(wù)端口,則提示用戶選擇是否結(jié)束對應(yīng)進程 if defined ports ( set var= set /p var=進程名:%pname%,進程PID:!pid!,占用端口:!ports:[::]:=!,是否確認結(jié)束此進程?[Y/N]: if not defined var ( echo 用戶未選擇,默認不處理 ) if defined var ( if /i "!var!" NEQ "Y" ( echo 用戶選擇不處理 ) if /i "!var!" NEQ "N" ( echo 用戶選擇結(jié)束此進程,開始處理 taskkill /pid %%b -t -f ) ) ) echo. ) ) @pause cls&goto start1
根據(jù)進程名關(guān)閉占用服務(wù)端口的進程.bat下載地址如下:
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!
賞
支付寶贊助
微信贊助
免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。
您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認可->聯(lián)系老梁投訴資源 LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。
敬請諒解! 侵權(quán)刪帖/違法舉報/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » bat批處理-根據(jù)進程名關(guān)閉占用服務(wù)端口進程(適用于各種軟件調(diào)試端口)