当前位置: 首页 > 知识库问答 >
问题:

NodeJS:如何停止Web服务器?

魏威
2023-03-14

我正在使用插件Goup-server-li的负载

var server = require('gulp-server-livereload');
gulp.src(pathDir).pipe(server({
   livereload: true,
   directoryListing: true,
   open: true,
   port: 80
}));

如何停止服务器?

我尝试了server.restart(),server.kill(),server.reset()

但总是有这样的错误:

未捕获错误:在Object.exports处侦听EADDRINUSE 127.0.0.1:35729_导出时出现errnoException(util.js:1022:11)_服务器上的exceptionWithHostPort(util.js:1045:20)_在GetAddrInfoReqWrap的doListing(net.js:1397:7)中侦听(net.js:1298:10)时侦听2(net.js:1262:14)。asyncCallback[作为回调](dns.js:62:16)。旁观[完成时](dns.js:81:1

0)

请帮我解决我的问题,或者告诉我另一个选择,你如何实现我需要的。

共有1个答案

史承福
2023-03-14

发生此错误的原因是另一个进程使用该端口。它可能只是此过程的先前实例,但是另一个应用程序可能正在使用该端口。

您将无法使用节点停止此操作,因为它是另一次运行留下的进程,并且进程没有权限“管理”彼此。

在Windows上使用任务管理器终止节点进程,在Mac上可以使用活动监视器,在Unix/Linux上可以使用htop或类似工具。

或者在Unix/Linux(包括MacOS)上,您可以使用

sudo lsof -i :35729

使用该端口查找进程id的进程ID,然后终止它:

kill -9 {PID}

要确保您的节点服务器在将来完全关闭,请添加事件处理程序:

process.on('SIGTERM', ..)

process.on('uncaughtException', ..)

并调用其中的代码来关闭您的应用程序。

 类似资料:
  • 问题内容: 我一直在使用Tornado Web服务器进行一些测试, 并且到了要停止Web服务器的地步(例如在单元测试期间)。龙卷风网页上存在以下简单示例: 一旦被调用,它将阻塞程序(或当前线程)。读取所述源代码的对象给出了文档在这个例子中功能: 但是,我不知道如何将其集成到我的程序中。其实我有一个封装(有它自己的Web服务器类和函数),但只要我打电话开始,程序(或测试)过程块会反正。 我试图在另一

  • 问题内容: 我显然正在运行一个实例,因为当我尝试通过输入来启动新服务器时,遇到了以下问题: 我不知道如何停止此服务器并启动新服务器。 在CLI中键入命令时,可以追加任何命令吗? 我的操作系统是Ubuntu 10.04。 问题答案: 连接到节点实例并使用shutdown命令,或者如果您在ubuntu上,则可以尝试通过init.d重新启动Redis服务器: 或停止/启动它: 在Mac上

  • 本文向大家介绍Nodejs如何搭建Web服务器,包括了Nodejs如何搭建Web服务器的使用技巧和注意事项,需要的朋友参考一下 使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块、文件系统、url解析模块、路径解析模块、以及301重定向问题,下面我们就简单讲一下如何来搭建一个简

  • 问题内容: 我已经到了秃顶几步之遥… 我正在尝试运行一项服务,该服务将检查我工作中的服务器是否正在运行。应该每5分钟执行一次。 我经历过TimerTask,ScheduledExecutorService,最后是Handler。他们都工作了好几个小时,除了一些不准确的地方外,还有1-5分钟的时间,然后突然,“计时器”就停止了发射。 现在,我已经了解到,如果Scheduler遇到未捕获的异常,它将停

  • 本文向大家介绍如何使用PowerShell停止Windows服务?,包括了如何使用PowerShell停止Windows服务?的使用技巧和注意事项,需要的朋友参考一下 要使用PowerShell停止特定服务,您需要使用Stop-Service命令。 语法 示例 要检查服务是否已停止,请键入Get-Service -Name Spooler。 输出结果 您也可以使用-Verbose参数来检查命令进程

  • 安装Jenkins后,我很困惑如何停止/启动Jenkins。使用此脚本在我的终端上进行战争 java-JarJenkins。war-httpPort=8080 原因如果再次运行上述代码,可能是错误原因端口已在使用中。我可以卸载它,但如果我需要Jenkins,我必须卸载它,然后重新安装,这就像浪费时间一样。需要知道如何在不卸载已安装的jenkins的情况下停止/启动命令的人 谢谢