介绍
vscode卡死后重新打开发现原本的终端不见,那里可还运行着程序,重新启动程序发现端口号被占用,就寻找了下关闭端口的方法
关闭指定端口
查看端口使用情况
windows
netstat -ano | findstr 端口号
mac
netstat -ano | grep 端口号
C:\Users\Administrator>netstat -ano | findstr 80
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 25856
TCP 0.0.0.0:7680 0.0.0.0:0 LISTENING 18144
TCP 0.0.0.0:49672 0.0.0.0:0 LISTENING 1180
TCP 0.0.0.0:55800 0.0.0.0:0 LISTENING 24372
TCP 127.0.0.1:80 127.0.0.1:58118 ESTABLISHED 25856
TCP 127.0.0.1:8680 0.0.0.0:0 LISTENING 10600
TCP 127.0.0.1:54813 0.0.0.0:0 LISTENING 7808
TCP 127.0.0.1:55801 127.0.0.1:55802 ESTABLISHED 24372
TCP 127.0.0.1:55802 127.0.0.1:55801 ESTABLISHED 24372
TCP 127.0.0.1:58118 127.0.0.1:80 ESTABLISHED 23060
TCP 192.168.1.34:52835 192.168.1.28:48080 ESTABLISHED 23060
TCP 192.168.1.34:53280 14.119.65.242:443 CLOSE_WAIT 23060
TCP 192.168.1.34:53398 110.249.194.76:80 ESTABLISHED 24372
TCP 192.168.1.34:59305 192.168.1.28:48080 ESTABLISHED 23060
TCP [::]:7680 [::]:0 LISTENING 18144
TCP [::]:49672 [::]:0 LISTENING 1180
TCP [::]:55800 [::]:0 LISTENING 24372
解释
netstat -ano 命令用于显示当前系统的网络连接和监听端口信息
findstr(grep) 命令则用于在文本中搜索指定的字符串
netstat -ano | findstr 端口号 时,它的作用是将 netstat -ano 命令的输出结果通过管道传递给 findstr 命令,并在输出结果中搜索包含指定端口号的行
关闭端口
windows
tasklist | findstr 端口号
mac
tasklist | grep 端口号
关闭了两个端口,因为字符匹配上了这两个,如果想准确点可以 netstat -ano | findstr :80 来关闭端口,更准确就得用PID
C:\Users\Administrator>netstat -ano | findstr 80
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 25856
TCP 0.0.0.0:7680 0.0.0.0:0 LISTENING 18144
解释
tasklist 命令用于列出当前正在运行的进程信息
findstr(grep) 命令则用于在文本中搜索指定的字符串
tasklist | findstr 进程号 时,它的作用是将 tasklist 命令的输出结果通过管道传递给 findstr 命令,并在输出结果中搜索包含指定进程号的行
关闭端口-通过PID
windows
taskkill -PID 进程号 -F
mac
kill -9 进程ID
因为进程已经被我关闭了,所以没找到
C:\Users\Administrator>tasklist | findstr 80
services.exe 1180 Services 0 12,128 K
svchost.exe 1980 Services 0 9,600 K
svchost.exe 3428 Services 0 5,980 K
C:\Users\Administrator>taskkill -PID 25856
错误: 没有找到进程 "25856"。
解释
win: taskkill 命令用于终止指定的进程。-PID 参数用于指定要终止的进程的进程 ID,-F 参数用于强制终止进程
mac: kill 命令用于终止指定 PID 的进程。-9 参数用于强制终止进程
拓展
Netstat命令详解
Windows命令之findstr命令