命令行查看端口号被哪个进程占用

命令行查看端口号被哪个进程占用

在网络程序的调试过程中,经常发生一些出乎意料的事情,比如创建一个TCP服务失败,这时候往往需要查看系统的网络情况,最常用的网络抓包当然非WireShark模式。但往往很多时候只需要查看某个端口的使用情况,它到底被那个进程(对应PID)占用了,或者你还需要把它Kill掉。如果你在Windows操作系统,你可以使用netstat命令来查询PID,然后可以打开任务管理器,查看这个PID对应的进程名;如果PID没有显示,菜单》查看》选择列》选中PID即可;得知进程后,我们可以将进程杀掉。下面我简单描述一下我所了解的在Windows和Linux系统下处理方式。(假如我们需要确定谁占用了我们的9010端口)

1、Windows平台

在windows控制台窗口下执行:

netstat -nao | findstr "9010"

TCP 127.0.0.1:9010 0.0.0.0:0 LISTENING 3017

你看到是PID为3017的进程占用了9010端口,如果进一步你想知道它的进程名称,你可以使用如下命令:

tasklist | findstr "3017"

如果你想杀死这个进程,你当然可以用前面描述的那种方法,在任务管理器里把它KILL了,但如果你喜欢高效一点,那么用taskkill命令就可以了。

taskkill /pid 3017

那么这个进程就灰灰湮灭了:)

2、Linux

如果你是个Linux爱好者,那个这个命令你应该很熟了,

netstat -pan | grep 9010

如果你稍微仔细一点,你会发现,用的都是netsta命令,事实上,netstat是一个比较通用的网络统计命令,几乎适用于所有现在流行的操作系统,无论是Linux,Window,还是其他Unix,或者Unix-like操作系统,而且用法基本一致。

下面是一个对Windows系统中netstat命令行参数的详细解释。

格式:

netstat [-a] [-e] [-n] [-o] [-p Protocol] [-b] [-r] [-s] [-v] [Interval]

参数说明:

-a 显示所有连接和监听端口。

-n 以数字形式显示地址和端口号。

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

-p 在Windows系统中,该选项用于指定默认情况的子集。proto 显示 proto 指定的协议的连接;proto 可以是下列协议之一: TCP、UDP、TCPv6 或 UDPv6。

如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。

-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下;包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。注意此选项

可能需要很长时间,如果没有足够权限可能失败。

-e 显示以太网统计信息。此选项可以与 -s选项组合使用。

-s 显示按协议统计信息。默认地,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息。

-r 显示路由表。

-v 与 -b 选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件。

interval 重新显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。按 CTRL+C 停止重新显示统计信息。如果省略,netstat显示当前

配置信息(只显示一次)。

 

第二篇:如何查看端口号被哪个程序占用了

如何查看端口号被哪个程序占用了?

一,

1,

Cmd 输入 netstat –ano

可以看到 2, 例如我查80端口被什么占用了 对应的进程id是 3600 再输入tasklist来查看 pid 3600是哪个进程什么程序在跑 3, 可以很快看到是tomcat6在用pid 3600 也即此占用了80端口 此时可以用 taskkill /pid 3600 /t /f 快速关闭此进程

或者

二。

开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列" 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法。

假如我们需要确定谁占用了我们的9050端口 1、Windows平台 在windows命令行窗口下执行: C:\>netstat -aon|findstr "9050" TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: C:\>tasklist|findstr "2016" tor.exe 2016 Console 0 16,064 K 很清楚吧,tor占用了你的端口。

linux下:

lsof -i :80

三、Linux

$netstat -pan|grep 2809

tcp 0 0 0.0.0.0:2809 0.0.0.0:* LISTEN 9493/java

del.icio.us Tags: aix,windows,tips

NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]

-a

-b

行组件

此选项

-e

-n

-o

-p proto

之一:

-r

-s

-v

interval

显示所有连接和监听端口。 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执 拥有多个独立组件,并且在这些情况下 包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件 在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。注意 可能需要很长时间,如果没有足够权限可能失败。 显示以太网统计信息。此选项可以与 -s选项组合使用。 以数字形式显示地址和端口号。 显示与每个连接相关的所属进程 ID。 显示 proto 指定的协议的连接;proto 可以是 下列协议之一: TCP、UDP、TCPv6 或 UDPv6。 如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 显示路由表。 显示按协议统计信息。默认地,显示 IP、 IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息; -p 选项用于指定默认情况的子集。 与 -b 选项一起使用时将显示包含于 为所有可执行组件创建连接或监听端口的组件。 重新显示选定统计信息,每次显示之间 暂停时间间隔(以秒计)。按 CTRL+C 停止重新 显示统计信息。如果省略,netstat 显示当前

配置信息(只显示一次)

相关推荐