有没有过这种时候?装个软件吧,弹出 “端口被占用” 的提示,一脸懵;想连公司内网传文件,死活连不上,后来才知道是端口被堵了 —— 小编前几天就因为这事儿,报表传晚了挨了顿说。其实端口被占用这事儿,看着复杂,操作起来真不难,今天就手把手教大家怎么查看被占用的内网端口,还有怎么把它关掉,不管你用的是 Windows 还是 macOS,跟着做就行,一起往下看吧!
先说说:端口被占用,到底是咋回事?
可能有人会问,端口是啥?被占用了影响很大吗?
简单说,端口就像电脑上的 “小窗口”,每个窗口对应不同的程序,比如微信用一个窗口,浏览器用另一个窗口。要是两个程序抢一个窗口,就会提示 “端口被占用”,这时候后启动的程序就没法用了。
就像你想用插座给手机充电,发现插座被吸尘器占了,手机就充不了电,一个道理。小编上次装数据库软件,就是因为 8080 端口被浏览器占了,折腾半小时才弄好,早知道咋弄就好了。
Windows 系统:查看并关闭被占用的端口,步骤在这
(1)先找到哪个端口被占用了,用命令行最快
- 按下 Win+R,输入 “cmd”,敲回车,弹出那个黑框框(命令提示符);
- 输入 “netstat -ano | findstr “LISTENING””,敲回车,这时候会列出所有正在被占用的端口,看 “本地地址” 后面的 “: 数字”,那就是端口号,比如 “:8080”;
- 要是你知道具体哪个端口被占了(比如软件提示 80 端口),输入 “netstat -ano | findstr “80””,就能直接定位,超方便。
小编第一次用这命令时,看着一堆字符头都大了,多试两次就熟了,真的。
(2)找到占用端口的程序,把它关掉
- 看上一步里端口对应的 “PID” 数字(在最右边),记下来;
- 按 Ctrl+Shift+Esc 打开任务管理器,点 “详细信息”,找到 “PID” 列,对着刚才记的数字找,就能看到是哪个程序在作妖;
- 右键点那个程序,选 “结束任务”,搞定!小编上次就是这么把占用 8080 端口的浏览器关掉的,软件一下就装上了。
macOS 系统:操作虽然不一样,原理差不多
(1)查看被占用的端口,用终端就行
- 打开 “启动台”,在 “其他” 里找到 “终端” 打开;
- 输入 “lsof -i : 端口号”(比如查 80 端口就输 “lsof -i :80”),敲回车,会显示占用这个端口的程序信息;
- 要是不知道具体端口,输入 “netstat -an | grep LISTEN”,能看到所有被占用的端口,就是找起来得费点劲。
小编感觉 mac 的终端和 Windows 的命令提示符,用法还挺像的,就是命令稍微有点区别。
(2)关闭占用端口的程序,一步到位
- 看上一步里的 “PID” 数字,记下来;
- 输入 “kill -9 PID 数字”(比如 PID 是 1234,就输 “kill -9 1234”),敲回车,那个程序就被强制关掉了;
- 不过得注意啊,别乱关程序,要是把系统程序关了,电脑可能会出问题,小编就见过有人乱关把浏览器关崩了的。
自问自答:这些坑,小编帮你踩过了
问:关掉程序后,端口还是被占用,该怎么办呢?
答:那就重启电脑试试,有时候程序关了但端口没释放,重启一下基本都能解决。小编有次遇到特顽固的,关了程序还占着端口,重启后立马好了。
问:会不会有病毒占用端口,关不掉啊?
答:一般不会,真遇到这种情况,用杀毒软件扫一下就行。小编之前遇到过一个陌生程序占端口,杀毒软件一查,是个广告插件,删掉就没事了。
问:我记不住那些命令,有没有更简单的方法?
答:有啊,Windows 可以用 “TCPView” 这个软件,mac 可以用 “Activity Monitor”,都是图形界面,点点鼠标就能看,详细的设置方法,一起看看吧:网上搜这两个软件,下载安装后打开,直接能看到端口和对应的程序,右键就能关,对电脑小白特别友好。
重点提醒:关端口时,这些事儿得注意
- 别乱关系统程序,像 “svchost.exe” 这种,关了可能导致网络断连;
- 关掉程序前,先保存好文件,免得数据丢了,小编有次关浏览器忘保存,写了一半的文档没了,心疼死;
- 要是经常用某个端口,比如程序员开发用的 3000 端口,可以把默认占用它的程序设置改一下,换个端口,省得每次都要关。
小编觉得,端口被占用这事儿,真不算啥大问题,就像家里水管堵了,找到堵的地方通开就行。关键是别慌,按步骤一步步来,多试两次就熟练了。
平时遇到这种情况,别总想着找别人帮忙,自己动手试试,说不定比等别人来更快。希望这些能帮到你,以后再遇到端口被占的情况,分分钟搞定!