如何查看端口被哪个程序占用:分系统两步查询

如何查看端口被哪个程序占用,Windows系统优先用cmd命令先查端口PID再匹配进程名,也可以直接打开任务管理器勾选PID列手动查找;Linux系统优先使用lsof命令一键获取进程名与PID,netstat命令需要管理员权限才能显示程序名称,CentOS7及以上新版系统默认不带netstat工具,需要手动安装net-tools软件包才能正常执行,普通用户执行部分命令会看不到进程信息,必须切换root或加上sudo提权操作。

Windows系统查看端口占用程序

你先按下Win+R,输入cmd打开命令提示符,不需要管理员权限也能查询端口PID。

第一步输入命令:netstat-ano|findstr"端口号",把引号里的数字替换成你要查询的端口,命令执行后最后一列数字就是进程PID。

第二步输入命令:tasklist|findstr"PID数字",就能直接显示占用端口的exe程序名称;也可以按下Ctrl+Shift+Esc打开任务管理器,点击查看,选择列,勾选PID(进程标识符),切换到详细信息页面,根据PID找到对应程序。

如果你想一步到位直接看到程序名,可以执行带-b参数的命令netstat-abno,这条命令必须用管理员身份打开cmd才能正常返回结果,否则会出现权限不足的提示。

Linux系统查看端口占用程序

查询命令适用条件使用限制
lsof-i:端口号CentOS、Ubuntu主流发行版,查询速度快普通用户只能看到部分进程,加sudo才能获取完整信息
netstat-tunlp|grep端口号已经安装net-tools工具包的旧版Linux系统CentOS7以上默认未预装netstat,需要yuminstallnet-tools安装;不加sudo无法显示进程名称,仅能看到端口状态
ss-tunlp|grep端口号新版Linux替代netstat的高效工具,系统自带无需额外安装参数格式和netstat保持一致,同样需要管理员权限查看进程名

执行lsof命令后,COMMAND列就是程序名称,PID列对应进程编号,拿到PID后可以用kill-9PID强制终止占用端口的进程。

容易出现查询失败的边界条件

Windows家庭版部分系统服务会占用80、443端口,用普通cmd查询只能看到PID,无法直接查到服务名称,需要在服务管理器里根据PID对应系统服务。

Linux云服务器如果开启了SELinux安全防护,部分端口进程会被拦截,命令只能查到端口处于监听状态,无法读取进程详情,临时关闭SELinux后才能正常查询。

补充端口冲突后的收尾操作

Windows命令行结束进程:taskkill/F/PID进程号,强制终止占用端口的程序。

Linux结束进程:kill-9进程PID,避免程序残留持续占用端口。

敬慕百科汇集百科知识与游戏文化,带你发现世界的每一个精彩角落。

想要了解更多关于如何查看端口被哪个程序占用的文章欢迎访问:百科