查看端口占用 netstat 命令

1. 使用 netstat 命令查看端口占用情况

netstat 常见参数
-a (all)显示所有选项,默认不显示 LISTEN 相关
-t (tcp)显示tcp相关选项
-u (udp)显示udp相关选项
-l 列出有在 listen (监听) 的服务状态
-n 不显示别名,能显示数字的全部转化成数字
-p 显示建立相关链接(sockets)的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

1)netstat -tln
     -l, –列出有在 listen (监听) 的服务状态
     -n, –数字,不解析成别名,能显示数字的全部解析成数字
这里写图片描述

若需要知道是什么程序占用,加上 -p 参数
netstat -tlnp

2)查找占用指定端口号的应用信息
netstat -aon|grep “8080”

netstat -tulnp|grep 8080

找到 pid 846

 # ps 846         -- 查看

 # kill -9 846    -- 杀掉

2. Windows cmd 命令行窗口下类似命令

netstat -aon|findstr “端口号”

netstat -aon|findstr "8080"

tasklist |findstr “端口号”

taskkill /m /f “应用程序名” – 杀掉任务

在任务管理器中找不到某占用端口的程序。可以从命令行找到并杀死该程序,命令如下:
taskkill -PID <进程号> -F //强制关闭某个进程

如果占用端口的进程是服务,taskkill 是杀不掉服务的,可用停止服务(如停止 Oracle 服务)的方法:

net stop <服务名>

-- 停止 Oracle 服务命令
net stop OracleOraDb10g_home1TNSListener
net stop OracleServiceORCL

注:命令窗口显示的服务名称有的后面接“-service”,执行命令时会报找不到该服务名称,可去掉 -service 再执行命令,或者进入任务管理器查看对应的服务名称。




猜你喜欢

转载自blog.csdn.net/zhouxukun123/article/details/79383130