项目测试的时候需要用到某个端口进行预览,但经常遇到端口被占用的情况,而如何找出被占用端口的进程呢,下面就教一种方法。
Windows
windows 可以通过自带的 资源监视器
来查看。
-
点击左下角启动按钮,输入
resmon
-
点击
网络
标签,点击侦听端口
栏即可查看端口占用情况
也可以使用命令 netstat -ano|find ":端口号" |find "LISTEN"
比如
c:>netstat -ano|find ":80" |find "LISTEN"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 616
最后的 616 就是占用 80 端口号 的进程ID
也可以使用 power shell 命令
Get-Process -Id (Get-NetTCPConnection -LocalPort 端口号).OwningProcess
比如
PS C:> Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
225 22 18528 26652 0.83 616 3 python
Id 那列对应的就是占用端口的 进程ID
Windows上 根据 进程ID
杀死进程,可以使用如下命令
taskkill /F /PID 616
Windows上 根据 进程名
杀死进程,可以使用如下命令
taskkill /F /IM hugo.exe
Linux
Linux检查 大家应该比较熟悉 使用 如下命令即可
# netstat -anp|grep ":80 " |grep LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17785/nginx: worker
上例中, 17785就是占用端口的进程ID