在父母的子过程中接收调试功能的输出



所以,我要实现什么:

我正在运行主进程,该进程叉了两个其他节点进程。我正在使用NPM的此调试库,我需要将其输出的子进程的输出(debug函数)输出到父母的输出( stdoutstderr)。

目前,我成功用管道的是console.log("...");,但不是:

var log = require('debug')('service');
log.color = 3;
log("...");

我正在使用此代码分支儿童流程:

var fork = require('child_process').fork;
var child_options = {
    cwd: __dirname,
    env: process.env,
    stdio: [ 'ignore', process.stdout, process.stderr, 'ipc' ],
    deatached: false,
    shell: true
};
var job_node = fork('job_node', [], child_options);

谁能帮我找出可能的问题?谢谢:)

编辑:此问题可能不是流管道中某种错误引起的 - 相反,现有/不存在的控制台窗口,附加终端。

当我尝试从phpstorm内运行服务器时,使用内置工具,它仅显示console.log函数输出即使是从Master Process

thekronny

已解决

只是为了尝试,我尝试在主过程中使用debug.enable函数,并且它起作用

我使用 debug.enable('master,job,service');在其他过程中启用了使用的命名空间,因此我不知道为什么,但是在子过程中创建的其他名称空间默认情况下是禁用的。

最新更新