前言
最近做项目,发现机器上的8081端口居然被占了,后来发现居然是公司的软件搞的鬼。坑了一小段时间,下面讲讲windows与linux下端口占用排查方式。
1. windows
相信大部分公司配置是windows电脑,windows的bat或者cmd命令迥然于linux,笔者以前2014年还玩过bat脚本呢,现在忘光了。回归正途,
1.1 第一步找出占用端口(以笔者虚拟机135端口为例,其他端口同理)的PID。
使用命令
netstat -ano|findStr "135"
即可找出PID,记住一定要双引号,
最后一栏即PID
看到PID为940
1.2 查明进程的用途,kill掉,或换端口
使用tasklist找出占用端口的任务
tasklist | findStr "940"
或者
wmic process where processid=940 get commandline
更简单的,打开任务管理器,打开PID栏,可以直接查看进程的用途并决定杀死进程,或者换端口号
2. linux
linux就简单了,毕竟经常使用
lsof -i:80
可以看见firefox占用了80端口,如果要使用杀掉PID即可,当然也可以换其他端口使用
macos同理
总结
端口占用冲突,在windows上稍微麻烦,毕竟大部分公司都是windows开发,在linux与macos相对比较简单处理,尤其是长期跟服务器打交道。