可能重复:
如何找到正在监听端口的exe?
我有两个网站,都配置为在端口 80 上运行,但都已停止。如果我启动其中一个,就会出现错误
无法访问该文件,因为它正在被另一个进程使用
如果我将任一网站的端口更改为 81,它们都会运行,前提是我只启动其中一个。
问题是,由于我只看到端口 80 上有一个正在运行的网站,我如何确定端口 80 上正在运行什么?
答案1
该命令netstat -ano
将列出正在侦听每个 TCP 端口的进程的 PID(进程 ID)。例如,在我的系统上,PID 4 正在侦听 TCP 端口 80。使用任务管理器显示进程 4 正在system
。
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1016
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING 712
TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING 1228
TCP 0.0.0.0:1027 0.0.0.0:0 LISTENING 756
答案2
您没有提供所运行的 Windows 版本,但如果您运行的是 Windows Server 2008/Vista 或更高版本,Windows 会附带一个内置工具(仅供管理员使用),称为Resource Monitor
。
我敢发誓这个问题之前在 SU 上已经有人问过/讨论过...
这里是资源监视器各项功能的指南/演示,其中一项功能位于网络 -> 监听端口下。您应该能够在那里找到罪魁祸首。
资源监视器是:
- 可通过 Windows Vista/Server 2008 或更高版本上的任务管理器轻松访问。
- 图形化且用户友好。
- 内置于操作系统。
- 比以下程序更有用:仅有的处理网络连接,因为它还会告诉您有关内存、CPU 和磁盘的信息。