node.js - NodeJS : How to stop a web server?

标签 node.js gulp webserver electron node-webkit

我正在使用插件gulp-server-livereload

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()

但是总是有这样的错误:

Uncaught Error: listen EADDRINUSE 127.0.0.1:35729 at Object.exports._errnoException (util.js:1022:11) at exports._exceptionWithHostPort (util.js:1045:20) at Server._listen2 (net.js:1262:14) at listen (net.js:1298:10) at doListening (net.js:1397:7) at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:81:1



0)

请帮助我解决我的问题或告诉我另一种选择
实现我所需要的。

最佳答案

由于使用该端口的另一个进程而发生此错误。这可能只是此过程的前一个实例,但是可能另一个应用程序正在使用该端口。

您将无法使用Node停止此操作,因为它是另一个运行中剩余的进程,并且该进程无权相互“管理”。

在Windows上,使用任务管理器杀死 Node 进程;在Mac上,可以使用 Activity 监视器;在Unix/Linux上,可以使用htop或类似程序。

您也可以在Unix/Linux(包括MacOS)上使用

sudo lsof -i :35729

使用该端口查找进程ID的进程ID,然后将其杀死:
kill -9 {PID}

为确保 Node 服务器在以后的添加事件处理程序中完全关闭,请执行以下操作:
process.on('SIGTERM', ..)

process.on('uncaughtException', ..)

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

关于node.js - NodeJS : How to stop a web server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44748900/

相关文章:

javascript - Uglifyjs 改变 Angular 脚本

node.js - 以编程方式运行 Gulp 4 任务

php - 如何为不同的根目录配置 xampp Web 服务器

php - 为什么某些 MySQL 字段现在需要默认值?

node.js - "Database"文件在 Heroku 中被覆盖

node.js - 移动服务+DocumentDB附件

node.js - 使用express.js 和twitter 获取node.js 中的最后3 条推文。终端显示我的应用程序已通过身份验证但返回 null

javascript - Gulp-仅重命名文件而不是目录

linux - 网络服务器无法打开包含 % 的文件

node.js - @mailchimp/mailchimp_marketing/types.d.ts' 不是 nodeJs 中的模块