码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2019-10-16 09:54:59      阅读:518      评论:0      收藏:0      [点我收藏+]

标签:插入   一键   下载   已取消   sdn   lims   使用   技术   tle   

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

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

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

标签:插入   一键   下载   已取消   sdn   lims   使用   技术   tle   

原文地址:https://www.cnblogs.com/xutaocc/p/11683360.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!