如何防止子节点进程被父节点进程杀死?

时间:2012-02-16 12:43:50

标签: javascript node.js process popen

我正在使用child_process.spawn / child_process.fork从node.js应用程序启动许多子进程。使用Ctrl-C停止父进程时,也会停止子进程。是否有一种优雅的方法来保持子进程的运行?

2 个答案:

答案 0 :(得分:3)

您可以尝试在您的孩子中抓住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的生命周期中这会产生什么影响。

这是关于on the node.js mailing list主题的一个启发性的,尽管很老的讨论。

答案 1 :(得分:-1)

您可以拨打父母的childprocess.disconnect();或孩子的process.disconnect();