我正在阅读出色的在线书籍http://nodebeginner.org/,并尝试了简单的代码
var http = require("http"); function onRequest(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); } http.createServer(onRequest).listen(8888);
现在我不知道(而且我仍然不知道!)如何优雅地关闭node.js,所以我就去了ctrl+z。现在,每次我尝试运行时node server.js,都会收到以下错误消息。
ctrl+z
node server.js
node.js:134 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: EADDRINUSE, Address already in use at Server._doListen (net.js:1100:5) at net.js:1071:14 at Object.lookup (dns.js:153:45) at Server.listen (net.js:1065:20) at Object.<anonymous> (/Users/Bob/server.js:7:4) at Module._compile (module.js:402:26) at Object..js (module.js:408:10) at Module.load (module.js:334:31) at Function._load (module.js:293:12) at Array.<anonymous> (module.js:421:10)
因此,有两个问题:
1)如何正常关闭node.js?
2)如何修复我创建的混乱?
使用Ctrl+ C优雅地退出节点进程
Ctrl
C
清理混乱取决于您的平台,但基本上,您需要找到运行节点的进程的其余部分并杀死它。
例如,在Unix上:ps -ax | grep node将为您提供以下条目:
ps -ax | grep node
1039 ttys000 0:00.11 node index.js
index.js节点文件的名称在哪里。
index.js
在此示例中,1039是进程ID(您将有所不同),因此kill -9 1039将其终止,您将能够再次绑定到端口。
kill -9 1039