windows 通过端口杀死进程过程解析(bat)
简单的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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Windows下bat批处理脚本使用telnet批量检测远程端口小记
多年没写过批处理了,来新公司的第一个case却是需要写一个bat脚本,批量更新采集agent的配置文件,其中就涉及到远程IP的端口检测. 本以为会和Linux一样可以简单判断: 复制代码 代码如下: echo q|telnet -e 'q' $ip $port && echo "$ip:port 通"||echo "$ip:port 不通" 结果发现Windows下面telnet退出并没有执行结果的返回值: 一.借助工具 于是我优先开启懒人法则,找其
-
Windows运行bat批处理文件时隐藏cmd命令提示符窗口的方法
我们在Windows中运行bat批处理文件时往往会弹出一个cmd命令提示符窗口,然后等一会儿cmd窗口就自动关闭了,有人会说,直接在bat批处理文件中加入echo off命令么好了,没错,echo off确实可以关闭cmd窗口,但是cmd窗口最初还是会弹出一下再消失,下面就教大家运行bat批处理文件时如何彻底隐藏cmd命令提示符窗口的方法. 方法就是通过vbs脚本来彻底隐藏执行bat批处理文件,将以下代码保存为.vbs文件,然后直接执行这个.vbs文件即可彻底隐藏cmd窗口了: Set ws =
-
修改Windows Server 2008 R2 的3389远程端口的Bat批处理代码
功能就是通过批处理实现修win2008 r2服务器远程端口为6637并加入到防火墙中 @ ECHO OFF color 0A ECHO ---------------------------------------------------------------------------- ECHO. ECHO 版权所有 copyright of 冰川网络 ECHO. ECHO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
windows下定时利用bat脚本实现ftp上传下载
前言: 工作中可能会遇到以下情况,利用windows作为中转,来实现两台linux服务器的文件传输. 实现步骤: 1.FTP上传和下载的bat脚本. 脚本分为两部分:可执行bat脚本和ftp命令文件: 可执行bat脚本: @echo off ftp -s:D:\ftp\ftp.txt ftp命令ftp.txt: open 192.168.1.166 ftp-user passwd prompt off lcd D:\ftp cd /home/myftp mget * close open 10.
-
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
exec 或者 system 都可以调用cmd 的命令 直接上代码: 复制代码 代码如下: <?php /** 打开windows的计算器 */ exec('start C:WindowsSystem32calc.exe'); /** php生成windows的批处理文件后,再执行这个批处理文件*/ $filename = 't.bat'; $somecontent = 'C: '; $somecontent .= 'cd "C:/Program Files/MySQL-Front&quo
-
Windows命令行bat批处理延迟sleep方法(批处理延时)
Windows下批处理文件没有像Linux一样的Sleep函数进行延时处理,这里有2种较为实用的方法实现延迟: 1.使用WScirpt的sleep功能,精度0.001秒 创建vbs延迟文件,然后在批处理文件中调用,使用WScript的 sleep函数,实现sleep的效果. 实战: 1)创建文件sleep.vbs: echo WScript.sleep 5000 > sleep.vbs sleep.vbs 内容如下: WScript.sleep 5000. 2)在批处理文件中调用,创建示例文件t
-
Windows程序打包脚本[bat]的详细流程
打包脚本的流程和自动打包基本相同: 1. 编译软件 2. 拷贝需要的内容 3. 代码签名 4. 打包成安装文件 5. 再次签名,并将安装文件名称改成需要的格式 ------------------------------------------------------------------ 编译软件需要初始化vs的运行环境,如 call "D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
-
windows7系统去除快捷方式小箭头BAT脚本分享
相信很多人都知道怎么清除windows xp的快捷方式,但windows 7的不一定知道,下面给大家带来个不错的清除windows 7快捷方式的bat脚本. 脚本内容如下: 复制代码 代码如下: @echo off mode con cols=35 lines=8 & color 0A title 去除系统快捷方式箭头 echo 程序将为你去除系统快捷方式的小箭头 pause echo Windows Registry Editor Version 5.00>>1.reg echo [
-
Windows下使用批处理文件.bat删除旧文件
本文教大家写一个批处理文件.bat删除旧文件,供大家参考,具体内容如下 1. 批处理文件 del_old_file.bat rem 删除D:\temp目录下7天前的文件 Forfiles /p D:\temp /s /d -7 /m *.* /c "cmd /c del /q /f @path" rem 删除C:\inetpub\logs目录下14天前的文件 Forfiles /p C:\inetpub\logs /s /d -14 /m *.* /c "cmd /c del
-
windows 通过端口杀死进程过程解析(bat)
简单的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 (
-
Python语言实现获取主机名根据端口杀死进程
推荐阅读:使用python检测主机存活端口及检查存活主机 下面给大家分享使用python语言实现获取主机名根据端口杀死进程代码. ip=os.popen("ifconfig eth0|grep 'inet addr'|awk -F ':' '{print $2}'|awk '{print $1}'") ip=ip..read().strip() pid=os.popen("netstat -anp|grep 8998 |awk '{print $7}'").read
-
windows环境中利用celery实现简单任务队列过程解析
这篇文章主要介绍了windows环境中利用celery实现简单任务队列过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.背景 最近因项目需要,学习任务队列Celery的用法; 二.测试使用环境: 1.Windows7 x64 2.Python == 3.7.5 3.celery == 4.3.0 4.redis =3.3.11 5.eventlet==0.25.1 ==> pip install eventlet (windows环境
-
Linux查找占用的端口,并杀死进程的方法
我要使用4040端口,但是被其他的程序占用了 1. 查找占用的程序 netstat -apn | grep 4040 最后一项显示的是pid和对应的名称 2. 杀掉对应的进程,彻底杀死进程 kill -9 26105 以上这篇Linux查找占用的端口,并杀死进程的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
Tomcat 发布程序使用cmd查看端口占用、相应进程、杀死进程等的命令
如何查看程序占用的端口 一. 查看所有进程占用的端口 在开始-运行-cmd,输入:netstat –ano可以查看所有进程 二.查看占用指定端口的程序 当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知道是哪个程序或进程占用了端口,可以用该命令 netstat –ano|findstr "指定端口号" 二.查看占用指定端口的程序 当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知道是哪个程序或进程占用了端口,可以用该命令 netstat –ano|f
-
解析C#中用Process类杀死进程,执行命令的深入分析
c#之process类相关整理一.根据进程名获取进程的用户名?需要添加对 System.Management.dll 的引用 复制代码 代码如下: using System.Diagnostics;using System.Management;static void Main(string[] args){foreach (Process p in Process.GetProcesses()){Console.Write(p.ProcessName);Console.Write("----&
-
基于python调用psutil模块过程解析
这篇文章主要介绍了基于python调用psutils模块过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 用Python来编写脚本简化日常的运维工作是Python的一个重要用途.在Linux下,有许多系统命令可以让我们时刻监控系统运行的状态,如ps,top,free等等.要获取这些系统信息,Python可以通过subprocess模块调用并获取结果.但这样做显得很麻烦,尤其是要写很多解析代码. 在Python中获取系统信息的另一个好办法是
-
spring boot整合kafka过程解析
这篇文章主要介绍了spring boot整合kafka过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.启动kafka 启动kafka之前一定要启动zookeeper,因为要使用kafka必须要使用zookeeper. windows环境下启动,直接使用kafka自带的zookeeper: E:\kafka_2.12-2.4.0\bin\windows zookeeper-server-start.bat ..\..\config\z
-
Android从xml加载到View对象过程解析
我们从Activity的setContentView()入手,开始源码解析, //Activity.setContentView public void setContentView(int layoutResID) { getWindow().setContentView(layoutResID); initActionBar(); } //PhoneWindow.setContentView public void setContentView(int layoutResID) { if (
-
使用Python实现windows下的抓包与解析
系统环境:windows7,选择windows系统是因为我对自己平时日常机器上的流量比较感兴趣 python环境:python2.7 ,这里不选择python3的原因,是因为接下来要用到的scapy包在python3中安装较于python2要麻烦得多.如果你习惯于用python3,数据包的分析完全可以放在3下面做,因为抓包和分析是两个完全独立的过程. 需要的python包:scapy和dpkt 抓包代码: from scapy.sendrecv import sniff from scapy.u
随机推荐
- JavaScript将数据转换成整数的方法
- Ruby的运算符和语句优先级介绍
- IOS实现输入验证码、密码按位分割(二)
- 从MySQL数据库表中取出随机数据的代码
- YII实现分页的方法
- Python下实现的RSA加密/解密及签名/验证功能示例
- C#多线程编程详解
- C++类型转换归纳总结
- mysql 导出select语句结果到excel文件遇到问题及解决方法
- nodejs 的 session 简单使用
- 如何编写一个加法器?
- JavaScript中访问id对象 属性的方式访问属性(实例代码)
- Jquery中request和request.form和request.querystring的区别
- C++ 多重继承和虚拟继承对象模型、效率分析
- php使用exec shell命令注入的方法讲解
- 杨氏矩阵查找的JS代码
- String类型传递是值传递,char[]类型传递是引用传递的实现
- Java中实现获取路径的方法汇总
- php header Content-Type类型小结
- vue中element组件样式修改无效的解决方法