如何在超级终端中停止运行 Node.js (Express) 服务器

Posted

技术标签:

【中文标题】如何在超级终端中停止运行 Node.js (Express) 服务器【英文标题】:How do you stop running server of Node.js (Express) in Hyper Terminal 【发布时间】:2021-03-22 13:53:26 【问题描述】:

当我在运行使用 nodemon 启动的服务器(端口:1000)(基于 Express.js)时退出超级终端,然后重新打开超级终端并尝试使用/不使用 nodemon 启动服务器(端口:1000)再次发生以下错误。不知道是超级终端还是nodemon引起的。

我只是想知道为什么我已经退出终端,服务器还在运行,以及我重新打开终端后如何强制停止服务器。

events.js:292
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use :::1000
    at Server.setupListenHandle [as _listen2] (net.js...

(---snipped---)

  code: 'EADDRINUSE',
  errno: -48,
  syscall: 'listen',
  address: '::',
  port: 1000

[nodemon] app crashed - waiting for file changes before starting...

【问题讨论】:

【参考方案1】:

Nodemon 旨在在检测到崩溃时重新启动节点应用程序,因此它可能会在您离开终端会话时重新启动。

强制停止 nodemon 进程运行:

sudo ss -lnp | grep 1000

这列出了所有在 1000 端口上监听的进程

注意 pid 即

pid=27027

然后运行:

sudo kill -9 27027

【讨论】:

以上是关于如何在超级终端中停止运行 Node.js (Express) 服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何使用纱线停止 node.js 服务器

如何在 SIGINT 上停止 node.js 检查器/Chrome 调试器?

Node.js 脚本正在运行,但它不会停止!

node.js 进程如何知道何时停止?

打开新的集成终端VSCode Mac时如何运行安装node.js?

windows超级终端如何使用