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批处理-根据进程名关闭占用服务端口进程(适用于各种软件调试端口)


