在开发服务端的时候,经常会出现端口被占用的问题,刚好netstat、findstr、taskkill命令能解决你的烦恼。
netstat 命令
netstat
是一个用于查看网络连接状态和统计信息的命令行工具,它在Windows、Linux和大多数Unix系统中都可以使用。
netstat
命令可以显示当前打开的套接字(socket)以及与之类似的网络传输协议的信息。
常用参数
- -a: 显示所有的网络连接和监听端口。
- -n: 直接使用数字地址,不对地址进行反向解析。
- -p: 显示每个套接字/连接所属的进程或程序名。
- -l: 仅显示正在监听的连接。
- -o: 显示每个连接的进程ID。
- -r: 显示当前路由表信息(Linux/Unix系统中)。
示例
# 查看所有的网络连接和监听的端口,并显示每个连接所属的程序名称和进程ID。
netstat -ano
findstr 命令
findstr
是Windows命令行工具中的一个字符串搜索工具,用于查找文件或输出中包含指定文本或正则表达式模式的行。
常用参数
- /i: 忽略大小写。
- /v: 显示不匹配的行。
- /c: 查找特定字符串。
- /b: 匹配单词开头。
- /e: 匹配单词结尾。
- /r: 将搜索项视为正则表达式。
- /n: 在每个匹配行前显示行号。
- /m: 仅显示文件中找到的第一个匹配项。
示例
# 搜索当前目录下的所有扩展名为.txt的文件,并列出包含“error”关键字的行和行号。
findstr /n "error" *.txt
taskkill 命令
taskkil
是Windows命令行工具中的一个强制结束进程的命令。它可以通过进程ID或进程名称来终止正在运行的进程。
常用参数
- /PID :指定要结束的进程ID。
- /IM :指定要结束的进程的映像名称(例如,notepad.exe)。
- /F:强制结束进程,而不提示用户确认。
- /T:结束指定进程的所有子进程。
示例
# 结束名为notepad.exe的进程。
taskkill /IM notepad.exe
# 结束进程ID为20112的进程。
taskkill /PID 20112
综合案例
释放
8090
端口
-
查找被占用的端口的进程的PID。
➜ netstat -ano | findstr :8090 TCP 0.0.0.0:8090 0.0.0.0:0 LISTENING 1884 TCP [::]:8090 [::]:0 LISTENING 1884
-
根据获取的PID杀死进程。
taskkill /F /PID 1884