敲命令启动本地服务的时候弹报错,盯着屏幕愣了好一会,才反应过来要搜8080端口被占用怎么办,当时脑子乱糟糟的,只想着赶紧把服务跑起来,手上也没多想就随便试。

最先想到的,是直接把软件关掉重开。窗口点了关闭,进程看着像是退出去了,再点启动,报错一模一样,弹窗还是跳出来。来回点了三四次,鼠标点的都有点烦,以为是软件卡住了,干脆把整个编辑器都关掉,桌面刷新好几下,再打开,结果还是不行。

就卡在这一步很久。

网上翻到有人说用命令行去查占用端口的程序,照着复制那行指令敲进去,黑框里跳出一串数字,一大串东西挤在一起,看得眼花。那个PID数字记下来了,转头又不知道在在哪找到这个进程,任务管理器打开扫了一遍,列表太长,名字都对不上,看了几分钟,干脆把窗口关掉,不想继续对着一堆字符耗着。

当时还冒出一个想法,换个端口用算了。改配置文件里的端口号,把8080换成别的数字,保存之后重新启动,这一次居然没有弹出之前的报错,服务页面能正常打开,那一瞬间松了口气,以为这事就这么过去了。那天剩下的时间都正常在写东西,没有再碰到这个提示,我也没再回头去管原本的8080端口。

隔了一天,重新打开项目,又想切回原来的端口调试,又一次撞上同样的提示。这下才明白,换端口只是绕开了问题,占用8080的那个程序一直留在机子里面,没有被关掉。之前那个临时的办法,只是凑合用,不是把源头处理掉。

慢慢回想前一天开了哪些工具,浏览器开了一堆标签页,还有另外一个小服务,之前开着测试,关窗口的时候没正常停掉,后台悄悄留在那跑着。那个小东西就是一直占着8080的东西,之前压根没往它身上想,总觉得自己点过关闭按钮就完事了。

找到之后,打开对应的控制台窗口,敲了停止的指令,等它输出结束的日志,再回头启动这边项目,这次顺利跑起来了。过程没有什么花哨操作,就是把那个遗留的后台进程停掉而已。

也不是每次都能这么顺利。那天旁边同事碰到一样的报错,他机子上占用端口的是别的软件,按我这个路子去找,根本找不到对应的程序,最后他也是直接换端口继续干活。所以这件事只代表我个人当时的情况,不同人的电脑里,占用端口的程序不一样,碰到的情况差别挺大。

后来偶尔还会再遇上一次,大多都是之前启动过的服务没有正常终止,后台悄悄驻留。现在也不会一上来就慌着到处找命令,有时候嫌麻烦,依旧直接改端口凑合用,没有固定的处理方式。

那天晚上合上电脑,脑子里就剩下黑框里滚动的日志。