windows 通过端口杀死进程过程解析(bat)

 更新时间:2019年10月17日 10:55:32   作者:xiaostudy  
这篇文章主要介绍了windows 通过端口杀死进程过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

简单的bat处理,把指定端口集合杀死相应的进程,就是杀死对应的pid

@echo off & setlocal EnableDelayedExpansion

set obj[0]=6340
set obj[1]=6330
set obj[2]=1010
set obj[3]=6301
set obj[4]=6001

set port=0
set pid=0

for /f "usebackq delims== tokens=1-2" %%a in (`set obj`) do (
  set port=%%b
  for /f "tokens=5" %%m in ('netstat -aon ^| findstr ":%%b"') do (
    set pid=%%m
  )
  if "!pid!"=="0" (
    echo 端口号【!port!】没有占用
  ) else (
    echo 端口号【!port!】相关进程以杀死
    taskkill /f /pid !pid!
  )
  set pid=0
)

pause

运行结果

1、一个端口都没有被占用情况

2、有一个6001端口被占用情况

讲解

bat是没有数组的,

set obj[0]=6340
set obj[1]=6330
set obj[2]=1010
set obj[3]=6301
set obj[4]=6001

可以看做事5个变量

第一个for循环【for /f "usebackq delims== tokens=1-2" %%a in (`set obj`) do (】就是从环境中拿去变量obj开头的,有多少个就遍历多少遍,再通过=切割【delims==就是用=切割】

tokens=1-2就是拿去第一二列,%%a就是循环的变量开始【可以不是a,也可以是i】,那么%%a就是例如obj[0],%%b就是例如6001

第二个for循环【for /f "tokens=5" %%m in ('netstat -aon ^| findstr ":%%b"') do (】就是从netstat -aon ^| findstr ":6001“【^是取消转义字符|,等同于命令行netstat -aon | findstr ":6001“】这个查所有端口占用情况中发现:6001这多行数据,这行数据第5列【"tokens=5"】就是pid

杀死pid【taskkill /f /pid !pid!】

修改版【上面那个会杀死外地占用端口调用本地端口的进程,这个是只杀死本地占用的端口】

@echo off & setlocal EnableDelayedExpansion

title 杀死端口

for %%a in (6340,6330,1010,6301,6001) do (
  set pid=0
  for /f "tokens=2,5" %%b in ('netstat -ano ^| findstr ":%%a"') do (
    set temp=%%b
    for /f "usebackq delims=: tokens=1,2" %%i in (`set temp`) do (
      if %%j==%%a (
        taskkill /f /pid %%c
        set pid=%%c
        echo 端口号【%%a】相关进程以杀死
      ) else (
        echo 不是本机占用端口【%%a】
      )
    )
  )
  if !pid!==0 (
    echo 端口号【%%a】没有占用
  )
)

echo 操作完成

pause

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 浅谈云服务器下如何选择操作系统

    浅谈云服务器下如何选择操作系统

    在购买云服务器时,会有一个必选的配置,就是操作系统的选择,如何选择操作系统?操作系统选择错了怎么办?这是不少用户会遇到的问题,今天我们就来教大家如何选择操作系统,以及操作系统选择错了,该怎么切换。
    2021-05-05
  • BIOS设置图解教程 Award Bios最新(转)

    BIOS设置图解教程 Award Bios最新(转)

    我们来介绍一下Award Bios的设置,其实Award Bios和AMI Bios里面有很多东西是相同的,可以说基本上是一样的,虽然有些名字叫法不同,但是实际作用是一样的
    2007-01-01
  • 鸿蒙HarmonyO开发实战-Web组件中的Cookie及数据存储

    鸿蒙HarmonyO开发实战-Web组件中的Cookie及数据存储

    Cookie是一种存储在用户计算机上的小文本文件,用于在用户访问网站时存储和提取信息,它由网站服务器发送到用户的浏览器,并存储在用户的计算机上,每当用户访问该网站时,浏览器将发送该Cookie回服务器,以用于识别用户和存储用户的首选项和其他信息
    2024-06-06
  • windows环境下修改pip镜像源的方法详解

    windows环境下修改pip镜像源的方法详解

    这篇文章主要介绍了windows环境下修改pip镜像源的方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Windows Docker 安装 Gitlab Volume权限问题解决方案

    Windows Docker 安装 Gitlab Volume权限问题解决方案

    这篇文章主要介绍了Windows Docker 安装 Gitlab Volume权限问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Windows 2003如何转换成PC版系统

    Windows 2003如何转换成PC版系统

    Windows 2003如何转换成PC版系统...
    2007-02-02
  • Win10专业版激活方法步骤详解

    Win10专业版激活方法步骤详解

    这篇文章主要介绍了Win10专业版激活方法步骤详解,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 红帽RedHat 8.0新特性(网络、yum源、Web界面管理等)

    红帽RedHat 8.0新特性(网络、yum源、Web界面管理等)

    这篇文章主要介绍了红帽RedHat 8.0新特性(网络、yum源、Web界面管理等),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 无引导设备No boot device available 常见解决方法

    无引导设备No boot device available 常见解决方法

    一般是启动硬盘有问题,或启动文件损坏,可以先用光盘启动看能否启动,以排除其它硬件问题,即确定是硬盘问题,如果cmos禁止了硬盘启动也可能出现这个问题,可以解决
    2008-01-01
  • windows 通过端口杀死进程过程解析(bat)

    windows 通过端口杀死进程过程解析(bat)

    这篇文章主要介绍了windows 通过端口杀死进程过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10

最新评论