@
cmd批處理bat命令根據端口號一鍵關閉殺死對應進程程序
使用場景和功能介紹
- java開發者eclipse中啟動多次啟動tomcat時8080端口無法及時關閉可能需要此批處理。
- windows上打開nginx.exe調試時不容易關閉時,可以使用此批處理關閉80端口即可。
- 代碼原理根據端口號netstat -aon | findstr "80"查到對應PID,再根據PID查找到進程名tasklist|findstr PID,再根據程序名殺死進程taskkill /f /t /im nginx.exe。這樣殺死比較全,只根據PID殺死進程有時候並不能完全殺死相關進程故心血來潮寫了此批處理。
- 剛學批處理蹩腳的代碼還請包含。
主界面
下載地址
下載地址(藍奏雲)]
https://www.lanzous.com/i6syl8h
源代碼
@echo off
title 根據服務端口號關閉對應進程。作者:劣徒5520,QQ:1092413979
echo ━━━━━━━━━━━━
echo ┏┓ ┏┓
echo ┏┛┻━━━┛┻┓
echo ┃ ┃
echo ┃ ━ ┃
echo ┃ ┳┛ ┗┳ ┃
echo ┃ ┃
echo ┃ ┻ ┃
echo ┃ ┃
echo ┗━┓ ┏━┛
echo ┃ ┃ ***根據服務端口號關閉對應進程。作者:劣徒5520,QQ:1092413979 ***
echo ┃ ┃
echo ┃ ┗━━━┓
echo ┃ ┣┓
echo ┃ ┏┛
echo ┗┓┓┏━┳┓┏┛
echo ┃┫┫ ┃┫┫
echo ┗┻┛ ┗┻┛
echo ━━━━━━━━━━━━
:start1
set /p duankou=請輸入需要關閉的端口號:
setlocal enabledelayedexpansion
set queryResult=0
for /f "delims= tokens=1" %%a in ('netstat -aon ^| findstr "%duankou%" ^|findstr "LISTENING"') do (
set a1=%%a
set isCanUse=0
for /f "tokens=2 delims= " %%b in ("!a1!") do (
set a2=%%b
for /f "tokens=2 delims=:" %%c in ("!a2!") do (
set a3=%%c
if %duankou%==!a3! (
set isCanUse=1
)
)
if !isCanUse!==1 (
echo 查詢到匹配的進程信息--!a1!
set queryResult=1
for /f "tokens=5 delims= " %%d in ("!a1!") do (
set killPid=%%d
for /f "tokens=1 delims= " %%e in ('tasklist^|findstr !killPid!') do (
set /p isConfirm=確認關閉%%e進程嗎^?^(不了解的進程請不要亂關閉^)^(Y^/N^):
set alreadyKilled=0
if !isConfirm!==y (
taskkill /f /t /im %%e
set alreadyKilled=1
)
if !isConfirm!==Y (
taskkill /f /t /im %%e
set alreadyKilled=1
)
if !alreadyKilled!==0 (
if !isConfirm! NEQ Y (
echo 已取消
set duankou=0
goto start1
)
if !isConfirm! NEQ Y (
echo 已取消
goto start1
set duankou=0
)
)
)
)
)
)
)
if !queryResult!==0 (
echo 未找到對應進程
)
goto start1
pause