最近在给学生们做Demo的时候,遇到了一个端口占用的问题……既然知道问题的所在,就要开始尝试解决问题,检查出到底是哪个程序在使用这个端口,然后干掉它……
再Windows下,加入我的端口 3318被占用了,那么在cmd里执行
netstat -aon|findstr “3318”
得到结果如下
TCP 127.0.0.1:3318 127.0.0.1:3319 ESTABLISHED 2116
TCP 127.0.0.1:3319 127.0.0.1:3318 ESTABLISHED 2116
我们可以看到3318这个端口正在被pid为2116的程序占用,于是继续执行
tasklist|findstr “2116”
得到结果
firefox.exe 2116 Console 0 65,956 K
这样,我们就知道是firefox在占用这个端口了……但是奇怪的是,当我关掉firefox再重启,它也不会再继续占用我原来的端口了……可能是因为firefox会随机占用一下,所以导致我原来想使用的端口被占用吧……这不巧了么这不是啊?
然后,因为菜狗肉壳最近买了一台mac,所以考虑到mac也会出现这种情况,该怎么办呢?
mac下相对比较简单,只需要一条命令
lsof -i -n | grep 3318
这样就可以看到哪个程序占用了这些端口,就是这样……