【bat】【windows】通过端口杀死进程
简单的bat处理,把指定端口集合杀死相应的进程,就是杀死对应的pid
@echo off & setlocal EnableDelayedExpansion set obj[]=
set obj[]=
set obj[]=
set obj[]=
set obj[]= set port=
set pid= 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!"=="" (
echo 端口号【!port!】没有占用
) else (
echo 端口号【!port!】相关进程以杀死
taskkill /f /pid !pid!
)
set pid=
) pause
运行结果
1、一个端口都没有被占用情况

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


讲解
bat是没有数组的,
set obj[]=
set obj[]=
set obj[]=
set obj[]=
set obj[]=
可以看做事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
【bat】【windows】通过端口杀死进程的更多相关文章
- Windows 查看端口占用进程并关闭
当我们在运行一些软件需要特定软件(如tomcat)时,有可能会碰上端口被占用的情况,这时候我们可能就需要更改端口或把占用端口的进程结束掉,因为更换端口可能会导致当前环境产生一些的问题或是需要重新配置其 ...
- 3. Windows根据端口查进程---ADB 相关报错 ADB server didn't ACK cannot bind ':5037'
1.ADB server didn't ACK,一般报ADB相关的错误,大部分是端口被占用了 处理方法: 在命令行输入>adb nodaemon server 如果返回: cannot bind ...
- windows下批量杀死进程
有时候因为病毒或其它原因,启动了一系列的进程,而且有时杀了这个,又多了那个.使用命令taskkill可将这些进程一下子所有杀光: C:\Users\NR>taskkill /F /im fron ...
- windows 2003端口80system进程占用的情况
1.首先是http服务 a. 位置 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTPb. 把 REG_DWORD 类型的项 Start ...
- cmd批处理bat命令根据端口号一键关闭杀死对应进程程序
@ 目录 cmd批处理bat命令根据端口号一键关闭杀死对应进程程序 使用场景和功能介绍 主界面 下载地址 源代码 cmd批处理bat命令根据端口号一键关闭杀死对应进程程序 使用场景和功能介绍 java ...
- Windows中杀死占用某个端口的进程
Windows中杀死占用某个端口的进程 netstat -ano | findstr //列出进程极其占用的端口,且包含 80 tasklist | findstr taskkill -PID < ...
- windows下根据端口号杀死进程
Windows不像Linux,Unix那样,ps -ef 查出端口和进程号,然后根据进程号直接kill进程. Windows根据端口号杀死进程要分三步: 第一步 根据端口号寻找进程号 C:\>n ...
- windows下端口占用解决方法-查看和杀死占用端口进程
在Windows下启动程序时有时会遇到端口被占用的情况,由于一个端口同时只能运行一个进程,所以要想启动新的程序就要先把占用该端口的进程给kill掉,具体的命令分为以下三步, 以杀死占用了80端口的进程 ...
- Windows、Linux及Mac查看端口和杀死进程
本文介绍如何在Windows.Linux及Mac下查看端口和杀死进程. Windows下查看端口和杀死进程 查看占用端口号的进程号:netstat –ano | findstr "指定端口号 ...
随机推荐
- 加深对 JavaScript This 的理解
我相信你已经看过很多关于 JavaScript 的 this 的谈论了,既然你点进来了,不妨继续看下去,看是否能帮你加深对 this 的理解. 最近在看 <You Dont Know JS> ...
- apache-maven安装
1.下载maven 网址:http://maven.apache.org 2.下载maven和安装 由于最新版的可能会有问题,我选择下载旧版本 一般都下载二进制的zip文件 解压后文件夹apache- ...
- luogu P3327 [SDOI2015]约数个数和 莫比乌斯反演
题面 我的做法基于以下两个公式: \[[n=1]=\sum_{d|n}\mu(d)\] \[\sigma_0(i*j)=\sum_{x|i}\sum_{y|j}[gcd(x,y)=1]\] 其中\(\ ...
- 再说js隐式转换
再说js隐式转换 自己整理的一个整体规则如下: Date 默认 走 toString, 如果 toString 返回的是对象, 那么查看 valueOf 其他对象的转换, 默认走 valueOf, 但 ...
- 05-树8 File Transfer (25 分)
We have a network of computers and a list of bi-directional connections. Each of these connections a ...
- SpringCloud:Feign模块引用版本问题
1.问题报错 org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import cand ...
- vue-axios interceptors
import axios from 'axios' import cookie from 'js-cookie' const options = { baseURL: window.location. ...
- 超级经典的HTTP协议讲解
- HTTP 协议 HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展. HTTP 协议的主 ...
- Spring不能直接@autowired注入Static变量
一.业务场景 spring框架应用中有些静态方法需要依赖被容器管理的类,就像这样: @Component public class Test { @Autowired private static U ...
- [技术博客]windows中使用docker技术
背景 我们的工程使用了一个叫做termux的安卓上的linux终端,这个终端在所有的软件包里硬编码了软件的运行路径(/data/data/com.termux/..),由于安卓系统的权限设计,我们名为 ...