说明:
在Windows环境下,用netstat命令查看某个端口号是否占用,为哪个进程所占用。
netstat [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]
#参数意义:
-a 显示所有连接和侦听端口
-b 显示在创建每个连接或侦听端口时涉及的可执行程序,在某些情况下,已 知可执行程序承载多个独立的组件,这些情况下,显示创建连接或侦端 口时涉及的组件序列。此情况下,可执行程序的名称位于底部 [ ]中,它调用的组件位于顶部,直至达到 TCP/IP。注意,此选项可能很耗时并且在您没有足够权限时可能失败。
-e 显示以太网统计,
-f 显示外部地址的完全限定域名(FQDN)
-n 以数字形式显示地址和端口号
-o 显示拥有的与每个连接关联的进程 ID
-p -p proto 显示 proto 指定的协议的连接;proto 可以是下列任何一个:TCP、UDP、TCPv6 或 UDPv6
-r 显示路由表
-s 显示每个协议的统计, 默认情况下, 显示 IP, IPv6, ICMP, ICMP6, TCP, TCPv6, UDP 和 UDPv6 的统计
-t 显示当前连接卸载状态
interval 重新显示选定的统计, 各个显示间暂停的间隔秒数
1、查看指定端口被那个PID所占用
查看49904 端口占用情况
C:\Users\Lenovo>netstat -ano|findStr "49904"
TCP 127.0.0.1:49904 0.0.0.0:0 LISTENING 12396
由上述命令可以看到,49904
端口被PID为12396
的程序所占用。
2、查看PID对应的进程名称
查看pid 12396对应进程名称
C:\Users\Lenovo>tasklist|findStr "12396"
SocketHeciServer.exe 12396 Services 0 1,308 K
可以看到,49904
端口被SocketHeciServer.exe
所占用。
3、终止服务
使用
taskkill
命令,终止服务taskkill /F /PID 12396
#描述:
结束一个或多个任务或流程。
#语法:
taskkill [/s <computer> [/u [<Domain>\]<UserName> [/p [<Password>]]]] {[/fi <Filter>] [...] [/pid <ProcessID> | /im <ImageName>]} [/f] [/t]
参数:
/s: (system)
指定远程计算机的名称或IP地址(不要使用反斜杠)。 默认为本地计算机。
/u: (username)
使用UserName或Domain * UserName指定的用户的帐户权限运行该命令。 只有在指定了/s 时才能指定 /u 。 默认值是当前登录到发出命令的计算机的用户的权限。
/p: (password)
指定 /u 参数中指定的用户帐户的密码。
/f: (force)
强制结束正在运行的进程。
### 注意:
远程进程将忽略此参数; 所有远程进程都被强制终止。
/t: (Terminate)
终止指定的进程以及由它启动的任何子进程。终止指定的进程以及由它启动的任何子进程。
/pid: (process identify)
进程 ID
/im: (image Name)
进程名称
/fi: (filter)
指定要包含在查询中或从查询中排除的进程类型。
FilterName Valid opreaters valid Values
status eq,ne running,suspended,not responding,unknown
imageName eq,ne image name
PID eq,ne,gt,ge,lt,le PID value
seesion eq,ne,gt,ge,lt,le session id
seesionName eq,ne seesion Name
cupTime eq,ne,gt,ge,lt,le HH:MM:SS
memUsage eq,ne,gt,ge,lt,le memory usage in KB
userName eq,ne Any valid user name
modules eq,ne dll Name
services eq,ne sevices Name
windowTitle eq,ne window title
valid opreaters:
eq: equal
ne: not equal
gt: greater than
ge: greater than equal
lt: less than
le: less than equal