netstat -ano(windows)或netstat -tunlp(linux/统信uos)可直接查看监听端口及对应pid;windows用tasklist | findstr "pid",linux用ps -p pid -o pid,comm,args验证进程身份。
直接用 netstat -ano 就能同时看到监听端口和对应的进程id(pid),不需要额外步骤。
Windows系统查看监听端口及PID
在命令提示符中运行:
- netstat -ano -p tcp | findstr LISTENING —— 只显示正在监听的TCP端口,末尾数字就是PID
- netstat -ano -p udp —— 查UDP监听(UDP无LISTENING状态,但会列出绑定的端口)
- 若要查具体端口(如8080),用:netstat -ano | findstr :8080(注意英文冒号+空格,避免匹配到80801等)
Linux/统信UOS查看监听端口及PID
终端中执行:
- netstat -tunlp —— 显示所有TCP/UDP监听端口,-p参数要求root权限,输出中PID/Program name列直接带进程ID和名称
- netstat -lntup | grep :3306 —— 快速定位MySQL默认端口,结果里PID一目了然
- 若提示“command not found”,说明net-tools未安装,可先运行:sudo apt install net-tools(Debian/Ubuntu系)或sudo yum install net-tools(CentOS/RHEL系)
确认PID对应哪个程序
拿到PID后,快速验证进程身份:
- Windows:运行 tasklist | findstr "1234"(把1234换成实际PID)
- Linux/统信UOS:运行 ps -p 1234 -o pid,comm,args,可看到进程名和完整启动命令
- 想看更详细信息(如运行用户、路径):用 ls -l /proc/1234/exe(需root权限)
netstat的-a、-n、-o、-p这几个参数组合是关键:-a看全部连接,-n跳过DNS解析加快速度,-o出PID,-p补进程名。只要权限足够,一行命令就能定位到谁在用哪个端口。











