cmd批处理bat命令根据端口号关闭杀死对应进程程序

匿名 (未验证) 提交于 2019-12-03 00:15:02

Ŀ¼

@(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杀死进程有时候并不能完全杀死相关进程故心血来潮写了此批处理。
  • 刚学批处理蹩脚的代码还请包含。

下载地址(蓝奏云)

 @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 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!