windows下端口占用处理工具
一、通用方法
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,笔者在最近使用tomcat时,老是会遇到这种端口占用的问题,如何知道谁占有了我们需要的端口,很多人都比较头疼,以下是通用方法:
在windows命令行窗口下执行:
1.查看所有的端口占用情况
C:\>netstat -ano
协议 本地地址 外部地址 状态 PID
TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236
TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:7438 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:8015 0.0.0.0:0 LISTENING 1456
TCP 192.168.3.230:139 0.0.0.0:0 LISTENING 4
TCP 192.168.3.230:1957 220.181.31.225:443 ESTABLISHED 3068
TCP 192.168.3.230:2020 183.62.96.189:1522 ESTABLISHED 1456
TCP 192.168.3.230:2927 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2929 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2930 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2931 117.79.91.18:80 ESTABLISHED 4732
2.查看指定端口的占用情况
C:\>netstat -aon|findstr "9050"
协议 本地地址 外部地址 状态 PID
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
P: 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: (也可以去任务管理器中查看pid对应的进程)
3.查看PID对应的进程
C:\>tasklist|findstr "2016"
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================
tor.exe 2016 Console 0 16,064 K
P:很清楚吧,tor占用了你的端口。
4.结束该进程
C:\>taskkill /f /t /im tor.exe
以上转自:http://www.iteye.com/topic/1117270
二、描述与运行截图
尽管上述方法能够解决这个问题,但是过于繁琐,而且CMD下的那几行命令实在难记住,笔者便写了这个exe。这玩意的实现比较简单,主要是调用了cstdlib库中的system()函数,逻辑也十分的清楚。虽然比较简单,但是感觉还是十分的实用,因此拿出来于大家分享。好吧,其实主要是给自己留个备份。
以下是笔者的运行截图:
三、源代码
以下是实现的源代码(转载请注明出处),一个需要注意的点是:windows 为所有进程和线程分配的 ID 都是 4 的倍数。
#include<iostream>
#include<cstdio>
#include<cstdlib>
/*
#windows端口占用处理工具
#作者:大大维
#2017/6/23
*/
using namespace std;
int main()
{
system("title windows端口占用处理工具");//设置cmd窗口标题
system("color 2B");
char cmd1[]="netstat -aon|findstr \"";
char cmd2[]="tasklist|findstr \"";
char cmd3[]="taskkill /f /t /im ";
cout<<"请输入被占用的端口号:"<<endl;
unsigned duankou=;
cin>>duankou;
sprintf(cmd1,"%s%d\"",cmd1,duankou);
system(cmd1); // windows 为所有进程和线程分配的 ID 都是 4 的倍数
cout<<"请输入端口占用进程的PID(最后一列),或者直接结束(输入非4的倍数,如1)";
unsigned pid=;
cin>>pid;
if(!(pid%))
{
sprintf(cmd2,"%s%d\"",cmd2,pid);
system(cmd2);
}
else
{
return ;
}
cout<<"你想结束这个进程吗?(y or n)"<<endl;
char ch='n';
cin>>ch;
if(ch=='y')
{
cout<<"请输入进程名(第一列),或者直接结束(输入0)"<<endl;
char jingchengming[];
cin>>jingchengming;
if(ch!='')
{
sprintf(cmd3,"%s%s",cmd3,jingchengming);
system(cmd3);
cout<<"已经结束了该进程"<<endl;
}
}
getchar();
return ;
}
另外,大家在关闭进程的时候要慎之又慎,免得关闭了一些不必要的进程,造成严重的后果。
windows下端口占用处理工具的更多相关文章
- windows查看端口占用 windows端口占用 查找端口占用程序 强制结束端口占用 查看某个端口被占用的解决方法 如何查看Windows下端口占用情况
windows下查询端口占用情况 ,强制结束端口占用程序 查询8080端口被那个程序占用 如何强制结束windows下端口占用情况? 下面操作在win10下 在控制台执行命令 1.列出所有端口的情 ...
- windows下端口占用解决方法-查看和杀死占用端口进程
在Windows下启动程序时有时会遇到端口被占用的情况,由于一个端口同时只能运行一个进程,所以要想启动新的程序就要先把占用该端口的进程给kill掉,具体的命令分为以下三步, 以杀死占用了80端口的进程 ...
- 如何查看Windows下端口占用
查看端口占用的PID进程号 C:\Users\yan>netstat -ano | findstr "8888" 查看是哪个进程或者程序占用了17840端口 C:\Users ...
- Windows下端口占用查看
假如我们需要确定谁占用了我们的80端口 1.Windows平台在windows命令行窗口下执行:C:\>netstat -aon|findstr "80" TCP 1 ...
- 如何查看Windows下端口占用情况
开始---->运行---->cmd,或者是window+R组合键,调出命令窗口 输入命令:netstat -ano,列出所有端口的情况.在列表中我们观察被占用的端口,比如是49157,首 ...
- windows下端口占用解决办法,解决命令
1.netstat -aon|findstr "8183" 可以看到listener 对应的端口id 2.taskkill /pid {查询出来对应的id值} /f
- windows下端口占用
1,netstat -ano | findstr 1235 2,taskkill /pid 9772 /f
- Windows系统端口占用情况检查脚本
写了一段检查Windows下端口占用情况的脚本,代码如下: function checkPid($result,$port){ $port = $port.split(":")[1 ...
- windows端口占用处理工具
一.描述 笔者在最近使用tomcat时,老是会遇到这种端口占用的问题,便写了这个小的exe,用于解决windows下的端口占用问题. 好吧,其实是我实在记不住CMD下的那几行命令.这玩意的实现比较简单 ...
随机推荐
- Java并发编程的艺术· 笔记(1)
目录 1.volatile的原理 2.Synchonized 3.无锁-偏向锁-轻量级锁-重量级锁 4.Java实现原子操作 1.volatile的原理 如何保持可见性: 1)将当前处理器缓存行的数据 ...
- 关于隐式创建vue实例实现简化弹出框组件显示步骤
我们在使用vue写alert组件的时候,经常是定义了一个alert.vue,然后引入alert.vue,然后配置参数等等,非常繁琐,那有没有一种方式可以像window.alert("内容&q ...
- 最简单的RPC框架实现
通过java原生的序列化,Socket通信,动态代理和反射机制,实现一个简单的RPC框架,由三部分组成: 1.服务提供者,运行再服务端,负责提供服务接口定义和服务实现类 2.服务发布者,运行再RPC服 ...
- word中一页中添加两种不同的页码
,在文档编写的过程中,可能一个页面需要编写两个不同的页码,举个例子,在页脚有一个页码是整个文档的页码,页眉有一个页码,是每个章节的页码: 设置如下: 此处选中这个图标是为了能够看到分节符和其他的符号 ...
- The innodb_system data file 'ibdata1' must be writable
在安装MySQL的时候报的错,我理解的这个错是因为有个文件是Innodb需要在安装MySQL(或者创建数据库的时候)的时候需要写入这个文件,但是他现在没有写的权限. 日志中的错误是: 5.7版本以前是 ...
- Mysql基本操作命令【转载】
原文链接:http://www.cnblogs.com/rookie-c/p/6425039.html 创建数据库 CREATE DATABASE name; 显示所有数据库 SHOW DATABAS ...
- 生成不同尺寸dimen的xml文件以及文件夹
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...
- PC/FORTH 下的多任务使用
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- python学习博客地址集合。。。
python学习博客地址集合... 老师讲课博客目录 http://www.bootcdn.cn/bootstrap/ bootstrap cdn在线地址 http://www.cnblogs. ...
- JavaEE第六周
Applet简介 Java Applet简介 最近要使用worldwind java sdk做Applet开发,看了些Applet的资料,为了防止忘记,记录如下: applet是通过<apple ...