当终端窗口关闭时,Nodemon 不会终止 macOS Big Sur 上的 Node.js 进程

问题描述

自从更新到 macOS Big Sur 版本 11.0.1 (20B29) 以来,我一直遇到一个问题,即在服务器启动时关闭终端窗口/选项卡 (ZSH) 时,我的 Node.js 进程没有被终止与 nodemon。看起来他们切换到了一个新进程,并且这个新进程保持活动状态。

例如运行npm run dev,服务器正常启动:

...
[nodemon] starting `node dist/index.js`
server started on 5000

在另一个终端选项卡中,我运行 lsof -i tcp:5000 并看到:

COMMAND   PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    80310   <user>  27u  IPv6 ...99e293      0t0  TCP *:commplex-main (LISTEN)

然后在关闭运行 Node 服务器的终端窗口时,我收到与之前 macOS 版本相同的消息,指出选项卡中的进程将被终止:

“是否要终止此窗口中正在运行的进程?
关闭此窗口将终止正在运行的进程:npm,节点 (2)。"

我选择了“终止”,但仍然可以在 localhost:5000 上访问服务器。当我在关闭节点服务器选项卡/窗口后运行 lsof -i tcp:5000 时,输出显示:

COMMAND   PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    80625   <user>  25u  IPv6 ...8a2293      0t0  TCP *:commplex-main (LISTEN)

因此端口保持活动状态,但为 TYPE 使用了新的 PID 和新的 IPv6。

我应该注意两件事:

  1. 如果我使用 Control + C 来中止进程,它会按预期工作。
  2. 一旦您更新项目中的文件,进程就会终止。

有没有人遇到过这个问题并找到了解决方案?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)