我有一个监听端口的简单 TCP 服务器。
var net = require("net");
var server = net.createServer(function(socket) {
socket.end("Hello!\n");
});
server.listen(7777);
我用 node server.js
启动它,然后在 Mac 上用 Ctrl + Z 关闭它。当我尝试使用 node server.js
再次运行它时,我收到以下错误消息:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: listen EADDRINUSE
at errnoException (net.js:670:11)
at Array.0 (net.js:771:26)
at EventEmitter._tickCallback (node.js:192:41)
我是否以错误的方式关闭程序?我怎样才能防止这种情况发生?
最佳答案
要结束程序,您应该使用 Ctrl + C。如果你这样做了,它会发送 SIGINT
,它允许程序优雅地结束,从它正在监听的任何端口中解除绑定(bind)。
关于node.js - 从命令行停止 node.js 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10522532/