在端口3000上结束连续节点过程:逐步修复
#node #ubuntu #azure #port3000

在软件开发的世界中,遇到意外问题和错误非常普遍。最近,我发现自己处于一个令人沮丧的困境中,存在一个持久的问题:每次我试图终止它时,端口3000都会不断产生一个新的节点过程。在我们的沙盒服务器上工作时,出现了这个问题,特别是当我使用Docker对前端应用程序进行容器时。

在本文中,我将分享解决此问题的故障排除的旅程,提供有关遇到的错误消息的见解以及纠正这种情况的各种尝试。

加入我,当我深入研究最终解决持久端口3000问题并重新控制流程管理的步骤时。

因此,我使用Docker在Sandbox Branch(SCM)上的前端应用程序中插入了服务器。容器还将使用端口3000,并且只有在尝试运行容器时才发现此问题。

不断出现的错误消息是:

docker: Error response from daemon: driver failed programming external connectivity 
on endpoint chronicle-interface-sandbox 
(fc5d353d06147d84888ffa88ace289e767f7fecf6ce4890cacc6870618a3a07d): 
Error starting userland proxy: listen tcp4 0.0.0.0:300

另外,当我运行命令
npm run dev
在公共文件夹上,它还给出了下面的输出:

> dev 
> next dev -H 0.0.0.0 -p 3000  
Port 3000 is already in use.

所以,我尝试了以下方法修复它,

检查运行端口3000的过程

lsof -i :3000

我确定了过程ID并杀死它们,

kill <PID>

每次我杀死一个过程时,另一个都用另一个ID旋转。

我还尝试直接停止node.js进程,而无需pid

pkill -f "node.*3000"

它仍然没有解决问题。

我做的最后一件事是重新启动Azure VM,然后将其修复:

sudo shutdown -r now

注意:您也可以从Azure门户重新启动服务器,一旦服务器返回在线,您将需要再次进入它以访问并继续工作。