找出占用端口的进程

项目测试的时候需要用到某个端口进行预览,但经常遇到端口被占用的情况,而如何找出被占用端口的进程呢,下面就教一种方法。

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

找出占用端口的进程

上一篇:fork.c(linux0.11)


下一篇:《PhoneGap移动应用开发手册》——1.8节创建可视化罗盘显示设备的移动方向