如何在超级终端中停止运行 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) 服务器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SIGINT 上停止 node.js 检查器/Chrome 调试器?