当前位置: 首页 > 面试题库 >

优雅地退出node.js

岑叶秋
2023-03-14
问题内容

我正在阅读出色的在线书籍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,都会收到以下错误消息

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)如何修复我创建的混乱?


问题答案:
  1. 使用Ctrl+ C优雅地退出节点进程

  2. 清理混乱取决于您的平台,但基本上,您需要找到运行节点的进程的其余部分并杀死它。

例如,在Unix上:ps -ax | grep node将为您提供以下条目:

    1039 ttys000    0:00.11 node index.js

index.js节点文件的名称在哪里。

在此示例中,1039是进程ID(您将有所不同),因此kill -9 1039将其终止,您将能够再次绑定到端口。



 类似资料:
  • 问题内容: 我发现几乎每个教程都告诉我针对事件循环执行此操作: 但是,单击X关闭程序会出现此消息。 这些示例建议使用无限循环,这的确使我感到奇怪。这听起来不自然,而我的其他X11程序也没有这样做。所以我四处搜寻。我发现了如何捕获窗口关闭事件。 那个有效。它退出没有错误。…但是我拒绝相信这是正常的做事方式。我的意思是,这是正确退出X11应用程序的唯一方法吗?捕获结束事件似乎需要做很多工作。如何进行“

  • 我有一个顶级核心.异步运行循环。我想让它无限期地运行,至少直到我用CTRL-C或kill或类似的方式示意它停止。我当前正在使用java.lang.runtime/AddShutDownHook,如下所示: 我想要的也不是。 我不一定期望找到一个适用于所有JVM的解决方案。我在Mac上开发并部署到Ubuntu上,所以我想找到一个同时适用于两者的解决方案: > Mac JVM:java版本“1.7.0

  • 相关zulip聊天 我正在试图弄清楚,在quarkus中启动应用程序时,您应该如何优雅地失败。 我尝试将其添加到应用程序启动代码中。如果我运行一个单元测试,现在就不会调用它。仅当我直接启动应用程序时才会调用它。我希望返回一个非零值,以防抛出异常。这可能是推荐的方法。我不确定 我不确定这是一个功能请求还是一个bug,或者我遗漏了什么,这是正常的行为。 编辑1:我想说清楚: 当我使用“/gradlew

  • 本文向大家介绍Android退出应用最优雅的方式(改进版),包括了Android退出应用最优雅的方式(改进版)的使用技巧和注意事项,需要的朋友参考一下 我们先来看看几种常见的退出方法(不优雅的方式) 一、容器式 建立一个全局容器,把所有的Activity存储起来,退出时循环遍历finish所有Activity 这种方法比较简单, 但是可以看到activityStack持有这Activity的强引用

  • 人生太短,不能写没人会读的废话,如果你写了废话,没人会去读。所以好一点的文档是最好的。经理不会去理解这些东西,因为不好的文档会给他们错误的安全感以至于他们不敢依赖他们的程序员。如果一些人绝对坚持你真的在写没用的文档,就告诉他们“是的”,然后安静的找一份更好的工作。 没有其他事情比精确估计 把好的文档转为放松文档要求的估计 更为有效率。真相是冷酷而艰难的:文档,就像测试,会花比开发代码多几倍的时间。