最近在Windows环境下工作,偶遇到一次端口占用需要找到对应进程并将其杀死的场景;

通过命令行

打开CMD或者PowerShell

win+R运行CMD或者PowerShell;

查看所有运行端口

netstat -ano

该命令列出所有端口的使用情况;

在列表中我们观察被占用的端口,比如是 17500,首先找到它;

查看被占用端口对应的PID

netstat -aon|findstr "17500"

查看指定PID的进程

tasklist|findstr "17500"

回车执行该命令;

查看是哪个进程或者程序占用了 58080 端口,结果是:java.exe

结束进程

taskkill /T /F /PID 17500 

强制(/F参数)杀死 pid 为 17500 的所有进程包括子进程(/T参数);

通过任务管理器

打开任务管理器,切换到进程选项卡,在PID一列查看17500对应的进程是谁,如果看不到PID这一列,如下图:

image-20230505160311139

结束掉这个进程,这样我们就可以释放该端口来使用了;