退出 NodeJS 主进程是否会导致所有子进程也存在

问题描述

我正在 nodejs 应用程序中创建一个集群 & 在某个时候我需要关闭所有子进程(集群工作器)。我想知道在主进程上调用 process.exit(0) 是否足以关闭它们。我试过了,它似乎有效,但我想确保这不会导致某种内存泄漏

解决方法

即使节点没有,child_process 也会继续,见下文:

节点:

child_process.exec("sleep 20")
process.exit(0)

BASH:

ps aux | grep "sleep 20"

输出:

USERNAME       PID   CPU  MEM  VSZ    RSS TT  S     STARTED   TIME sleep 20

sleep 20 仍显示为正在运行。