NodeJS:如何停止 Web 服务器?
NodeJS: How to stop a web server?
我正在使用插件 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 停止此操作,因为它是另一个 运行 剩余的进程,并且进程没有 'manage' 彼此的权限。
在Windows上使用任务管理器杀死节点进程,在Mac上你可以使用Activity监视器,在Unix/Linux上你可以使用htop或类似的。
或者 Unix/Linux(包括 MacOS),您可以使用
sudo lsof -i :35729
找到使用该端口的进程ID的进程id,然后kill它:
kill -9 {PID}
为确保您的节点服务器在未来干净地关闭添加事件处理程序:
process.on('SIGTERM', ..)
process.on('uncaughtException', ..)
并调用其中的代码来关闭您的应用程序。
我正在使用插件 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 停止此操作,因为它是另一个 运行 剩余的进程,并且进程没有 'manage' 彼此的权限。
在Windows上使用任务管理器杀死节点进程,在Mac上你可以使用Activity监视器,在Unix/Linux上你可以使用htop或类似的。
或者 Unix/Linux(包括 MacOS),您可以使用
sudo lsof -i :35729
找到使用该端口的进程ID的进程id,然后kill它:
kill -9 {PID}
为确保您的节点服务器在未来干净地关闭添加事件处理程序:
process.on('SIGTERM', ..)
process.on('uncaughtException', ..)
并调用其中的代码来关闭您的应用程序。