如何防止子节点进程被父节点进程杀死?
我正在使用child_process.spawn / child_process.fork从node.js应用程序启动一些subprocess。 当用Ctrl-C停止父进程时,subprocess也停止。 有没有一个优雅的方式来保持subprocess运行?
你可以尝试在你的孩子中捕获SIGINT
:
// child.js process.on("SIGINT", function() { console.log("sigint caught") }); // parent.js var fork = require("child_process").fork, child = fork(__dirname + "/child.js");
运行parent.js
并按^C
你的child.js
应该继续在后台运行。 我不知道在child.js
的生命周期中child.js
什么影响。
以下是关于node.js邮件列表中的主题的启发性讨论,虽然很老旧。
你可以调用childprocess.disconnect();
在父或process.disconnect();
在孩子。