在process.exit()之前完成时,不显示在Node.js子进程上使用util.format的输出

时间:2012-06-08 08:35:46

标签: node.js

我有一个节点应用程序启动一个。我使用spawn()方法而不是fork()来创建子实例,因为我有时需要使用不同的节点命令行参数(例如debug)来启动子进程。

考虑以下示例:

master.js

var child = require("child_process").spawn("node", ["child"]);
child.stdout.pipe(process.stdout, { end: false });

child.js

console.log("Hello World!");
console.log(require("util").format("Hello World2!"));
setTimeout(function(){
    console.log("Error!");
    console.log(require("util").format("Error2!"));
    process.exit(1);
},2000);

运行 master.js (在Windows上)实际输出

Hello World!
Hello World2!
Error!

"错误2!"消息丢失了,我不明白为什么。你知道这里出了什么问题吗?

提前致谢!

0 个答案:

没有答案