在Windows环境下,用netstat命令查看某个端口号是否占用,为哪个进程所占用.

eg、查看端口号为61078被哪个程序占用

1、查看端口号为61079被哪个PID所占用:Netstat –ano|findstr “<端口号>”

从结果中可以找到端口61078被PID为5576的进程占用

2、通过该PID查找对应的进程名称

从结果中可以判断PID为5576的进程名为YoukuMediaCenter.exe

3、通过用任务管理器查看找到该进程的安装目录

扩展

netatat命令

Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

常见参数

-a (all)显示所有选项,默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-o 显示与每个连接相关的所属进程PID

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如uid等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

网络连接状态

1)、LISTEN:首先服务端需要打开一个socket进行监听, 侦听来自远方TCP端口的连接请求

2)、 SYN_SENT:客户端通过应用程序调用connect进行active open.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态置为SYN_SENT. 在发送连接请求后等待匹配的连接请求

3)、 SYN_RECV:服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN. 之后状态置为SYN_RECV,在收到和发送一个连接请求后等待对连接请求的确认

4)、ESTABLISHED: 代表一个打开的连接,双方可以进行或已经在数据交互了,数据可以传送给用户

5)、 FIN_WAIT1:主动关闭(active close)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态.等待远程TCP的连接中断请求,或先前的连接中断请求的确认

6)、CLOSE_WAIT:被动关闭(passive close)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序),并进入CLOSE_WAIT. 等待从本地用户发来的连接中断请求

7)、FIN_WAIT2:主动关闭端接到ACK后,就进入了 FIN-WAIT-2 . 从远程TCP等待连接中断请求

8)、LAST_ACK:被动关闭端一段时间后,接收到文件结束符的应用程 序将调用CLOSE关闭连接。这导致它的TCP也发送一个 FIN,等待对方的ACK.就进入了LAST-ACK . 等待原来发向远程TCP的连接中断请求的确认

9)、TIME_WAIT:在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。等待足够的时间以确保远程TCP接收到连接中断请求的确认

10)、CLOSING: 比较少见.等待远程TCP对连接中断的确认

11)、CLOSED: 被动关闭端在接受到ACK包后,就进入了closed的状态。连接结束. 没有任何连接状态

12)、UNKNOWN: 未知的Socket状态。

tasklist命令

“Tasklist”命令是一个用来显示运行在本地或远程计算机上的所有进程的命令行工具,带有多个执行参数,默认显示所有进程

参数

/S      system            指定连接到的远程系统。

/U      [domain\]user     指定使用哪个用户执行这个命令。

/P      [password]        为指定的用户指定密码。

(使用tasklist命令查看远程系统的进程时,需要远程机器的RPC 服务器的支持,否则,该命令就不能正常使用)

/M      [module]          列出调用指定的 DLL 模块的所有进程,如果没有指定模块名,显示每个进程加载的所有模块。

/SVC                     显示每个进程中的服务。

/V                       指定要显示详述信息。

/FI     filter            显示一系列符合筛选器指定的进程。

lt (小于),

le (小于等于),

gt (大于),

ge (大于等于),

eq (等于),

ne (不等于)

列出了系统中正在运行的非“justin”用户状态的所有进程。

taskkill

taskkill是用来终止进程的

参数列表:

/S    system           指定要连接到的远程系统。

/U    [domain\]user    指定应该在哪个用户上下文                           执行这个命令。

/P    [password]       为提供的用户上下文指定密码。如果忽略,提示输入。

/F                     指定要强行终止进程。

/FI   filter           指定筛选进或筛选出查询的                           的任务。

/PID  process id       指定要终止的进程的PID。

/IM   image name       指定要终止的进程的图像名。通配符 '*'可用来指定所有图像名。

/T                     Tree kill: 终止指定的进程和任何由此启动的子进程。

/?                     显示帮助/用法。

windows下查找指定端口被哪个程序占用的更多相关文章

  1. windows下查看某个端口被哪个程序占用的方法

    经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用 假如我们需要确定谁占用了我们的9050端口 ...

  2. windows下查看特定端口被什么程序占用

    我电脑上因为命令: netstat -ano 列出的太多了,所以不好看. 以下是其他方式: 查看8088端口占用情况: 开始---->运行---->cmd,或者是window+R组合键,调 ...

  3. windows下关闭指定端口服务,解决tomcat端口占用问题

    http://blog.aizhet.com/Server/640.html 在windows下做java EE的开发时:搭建 Eclipse+tomcat的java web开发环境:在应用之中经常遇 ...

  4. Windows下查询指定端口进程,并杀死

    1. 找到指定端口的进程号 c:\devworks\lib\httpd-2.4.10-win32-VC9\Apache24\bin>netstat -ano|findstr "9000 ...

  5. Windows下查看某个端口被哪个服务占用

    1.查看某个端口是否被占用 打开命令行,输入:netstat -ano | findstr "3306" 2.查看端口被哪个服务占用 tasklist | findstr “PID ...

  6. 批处理文件:windows下关闭指定端口

    @echo offsetlocal enabledelayedexpansionset /p port=please input port number:for /f "tokens=1-5 ...

  7. Windows下解决系统端口被VM虚拟机占用问题

    一)问题背景 安装VM虚拟机后,经常会遇到启动其他程序时出现端口被占用的情况,其中以80端口被占用最为常见. 二)解决思路 解除或更改被占用端口号,但是更改端口号时,除非对系统的端口占用情况非常熟悉, ...

  8. 如何快速找到指定端口被哪个程序占用并释放该端口(解决bindException)

    首先打开打开任务管理器,选择性能模块,下方有打开资源监视器,或者直接搜索资源监视器 在资源监视器中点击侦听端口模块,即可看到正在使用网络端口的应用程序名和pid,如果被占用可以直接使用命令行关闭即可 ...

  9. MACOSX下查看某个端口被哪个程序占用及杀进程方法

    sudo lsof -i :9000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 61342 a 313u IPv6 0x11111 ...

随机推荐

  1. debian 安装 android studio 环境

    jdk环境变量配置: ~/.hashrc export JAVA_HOME=/usr/share/jdk1.8.0_92 export PATH=$JAVA_HOME/bin:$PATH export ...

  2. PAT (Advanced Level) 1095. Cars on Campus (30)

    模拟题.仔细一些即可. #include<cstdio> #include<cstring> #include<cmath> #include<algorit ...

  3. 【从汉字中提取数字】不用公式,不用VBA,如此简单的方法你是否用过?

    转自:http://huaban.com/pins/19664410 具体操作过程请看附图动画:

  4. C#实现http断点下载

    我们寄希望于万能的解决方案,但是现实的情况总是很糟糕.在软件编程的世界中,技术分散的情况尤为严重,且不说各种语言拥有的优势不能融合,单就一门语言而言,就拥有众多的技术和相关技术需要学习.网络编程就是这 ...

  5. C# 经典入门15章-TextBoxControl

    第一步:设计界面如下:

  6. 让shell 变得容易理解

    1.重建你的语义模型(简单语义模型)2.变量,参数和方法命名3.测试用例4.足够的组块

  7. list实例应用

    Java代码如下: package Test01; import java.util.ArrayList; import java.util.List; public class Test02 { p ...

  8. Fragment在Activity中的应用 (转载)

    原文链接 http://www.cnblogs.com/nanxin/archive/2013/01/24/2875341.html 在本小节中介绍在Activity中创建Fragment. 官网有很 ...

  9. NDK常用命令

    NDK Build 用法(NDK Build)   1.ndk-build的用法 Android NDKr4引入了一个新的.小巧的shell脚本ndk-build,来简化源码编译. 该文件位于NDK根 ...

  10. JAVA List<T> 如何初始化

    通常用法:List<类型> list=new ArrayList<类型>();List是一个接口,不可实例化,通过实例化其实现类来使用List集合,他的最常用实现类ArrayL ...