分析报错#
最近写博客时,遇到用hexo s指令失败报错的问题
1
2
3
4
5FATAL Port 4000 has been used. Try other port instead.
FATAL {
err: Error: listen EADDRINUSE: address already in use :::4000
...
}
分析该报错,发现端口4000已经被占用
查找进程#
查找端口号 4000的网络占用
1
$netstat -ano|grep 4000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17协议 本地地址 外部地址 状态 PID(这一行输入netstat -ano 在头部会显示)
TCP 0.0.0.0:4000 0.0.0.0:0 LISTENING 21144
TCP 0.0.0.0:14000 0.0.0.0:0 LISTENING 21144
TCP 127.0.0.1:55016 127.0.0.1:55017 ESTABLISHED 24000
TCP 127.0.0.1:55017 127.0.0.1:55016 ESTABLISHED 24000
TCP [::]:4000 [::]:0 LISTENING 21144
TCP [::]:14000 [::]:0 LISTENING 21144
TCP [::1]:4000 [::1]:55146 TIME_WAIT 0
TCP [::1]:4000 [::1]:55147 TIME_WAIT 0
TCP [::1]:4000 [::1]:55152 TIME_WAIT 0
TCP [::1]:4000 [::1]:55166 TIME_WAIT 0
TCP [::1]:4000 [::1]:55167 TIME_WAIT 0
TCP [::1]:4000 [::1]:55174 TIME_WAIT 0
TCP [::1]:4000 [::1]:55177 TIME_WAIT 0
TCP [::1]:4000 [::1]:55178 TIME_WAIT 0
TCP [::1]:4000 [::1]:55183 TIME_WAIT 0
TCP [::1]:4000 [::1]:55186 TIME_WAIT 0
查找应用#
查找进程号包含 21144的所有进程
1
$ tasklist|findstr "21144"
1 | 映像名称 PID 会话名 会话 内存使用(这一行输入tasklist在头部会显示) |
好家伙,就是这个Code.exe占用了
kill掉应用#
通过查看占用端口号的进程,可以直接杀掉进程(这一步谨慎操作,别杀了不能杀的进程,那就Good
Game了)
1
2
3
4
5taskkill /pid 21144 -f -t
or
taskkill /pid 21144 /f /t