【问题标题】:close a port with nodeJS用 nodeJS 关闭一个端口
【发布时间】:2013-11-30 09:46:46
【问题描述】:

当我编写一个侦听端口的程序时,比如说 8081,然后编写另一个侦听同一端口的程序,我会收到这种类型的错误消息:

Error: listen EADDRINUSE
    at errnoException (net.js:901:11)
    at Server._listen2 (net.js:1039:14)
    at listen (net.js:1061:10)
    at Server.listen (net.js:1127:5)
    at Object.<anonymous> (C:\NetBeansWorkPlace\nodeJS_Files\TutsNodeJS\static_file_server.js:36:4)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

我发现该端口正在使用中,但如何清除该端口,或阻止应用监听给定端口?

【问题讨论】:

  • 这完全取决于您如何监听该端口。我不知道我们应该如何读懂你的想法...关心发布你在端口上启动服务器的代码吗?
  • 你想让两者都监听同一个端口?
  • 在你的 stackstace 的第 6 行,我假设你正在从 NetBeans IDE 运行节点,如果是这种情况,你必须确保在启动新节点之前关闭节点进程跨度>
  • 如果我运行这个简单的代码: var http = require('http'); http.createServer(function(req, res) { res.writeHead(200, { 'Content-Type': 'text/plain; charset=UTF-8' }); res.end('Hello World.\n' ); }).listen(9080, "");当我第二次运行它时,我会收到端口未使用的错误消息。 events.js:72 投掷者; // 未处理的“错误”事件 ^ 错误:监听 EADDRINUSE 所以我想知道如何停止监听端口或使用节点命令行。谢谢!
  • 这篇文章帮助我解决了这个问题 -- technet.microsoft.com/en-us/sysinternals/bb897437 TCPView v3.05 作者 Mark Russinovich 发布时间:2011 年 7 月 25 日

标签: node.js


【解决方案1】:

最简单的方法是您可以在 javascript 文件中更改端口号。

如果您想关闭端口,只需执行此操作(针对 mac 的解决方案)打开终端

1) sudo lsof -i :

将显示一个表格,在此表格中查找您的端口的 PID

2) sudo kill -9 PID

【讨论】:

    【解决方案2】:

    如果您希望您的节点应用程序在进一步进程开始之前自动关闭端口 8081,您可以使用此技巧。

    1. 安装依赖:npm i kill-port

    2. 现在,导入并运行下面给出的代码。

    const kill = require("kill-port");
    
    kill(8080, "tcp");

    这样,node 会首先清除端口连接,以便您可以进一步使用此端口。而如果端口不开放,则不会造成任何伤害。

    【讨论】:

      【解决方案3】:

      请参阅此内容以更好地了解此工具fuser

      fuser -k -n tcp 端口号

      【讨论】:

        【解决方案4】:

        以下是您的选择:

        1- 退出运行节点应用程序的终端

        2- 通过编辑应用程序更改端口号

        3- 使用forever

        4- 直接Kill the process

        我还没有尝试过第四个选项,但理论上它应该可以工作。此外,有时上述所有方法都不会产生。您可以在此处注销或重新启动计算机。

        【讨论】:

          猜你喜欢
          • 2016-11-20
          • 2015-05-15
          • 1970-01-01
          • 1970-01-01
          • 2015-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-11-01
          相关资源
          最近更新 更多