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