在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. 函数求值一<找规律>

    函数求值 题意: 定义函数g(n)为n最大的奇数因子.求f(n)=g(1)+g(2)+g(3)+-+g(n).1<=n<=10^8; 思路: 首先明白暴力没法过.问题是如何求解,二分.知道 ...

  2. - (void)addAnimation:(CAAnimation *)anim forKey:(nullable NSString *)key; 方法浅析

    转载自:http://blog.csdn.net/ronaldo_carry/article/details/49070119 将viewdidload里面的代码全部注释掉 - (void)viewD ...

  3. NSAttributedString 的21种属性 详解

    原文链接:http://www.jianshu.com/p/09f54730feaa 先看看所有的Key NSFontAttributeName; //字体,value是UIFont对象 NSPara ...

  4. PoolManager 简单使用

    如图,创建空物体并命名 PoolManager,添加 脚本 spawn pool,并添加 如上图右边一些 参数,prefab为 Resources中 的预置体. 添加 空物体并 改名,如上图,并添加脚 ...

  5. http://www.iteye.com/job/topic/1133159

    Lucene 的索引体系是一个写独占,读共享的结构,这意味着,我们在使用多线程进行添加索引时,性能并不会得到明显的提升,所以任何时刻只能有一个线程对索引进行写 入操作,而保障这个操作的安全性则是来自于 ...

  6. linux下安装rabbitmq

    1.安装erlang虚拟机 Rabbitmq基于erlang语言开发,所有需要安装erlang虚拟机.安装erlang有两种方式: 第一种:使用yum安装: wget -O /etc/yum.repo ...

  7. foo bar的意思

    有些朋友问:foo, bar是什么意思, 为什么C++书籍中老见到这个词. 我google了一下, 发现没有很好的中文答案.这个问题,在维基百科上有很好的回答.在这里翻译给大家. 译文: 术语foob ...

  8. android的m、mm、mmm编译命令的使用

    android的m.mm.mmm编译命令的使用   android源码目录下的build/envsetup.sh文件,描述编译的命令 - m:       Makes from the top of ...

  9. Android之EditText控件

    <EditText android:layout_width="fill_parent" android:layout_height="wrap_content&q ...

  10. 你的float用对了吗

    介绍 很多人都知道float是浮点类型,它不能表示数据范围内的所有数值.但是,实际使用或编码时,你又是否记得这句话呢?下面是stackoverflow中的一个问题: why does a float ...