从父进程中的子进程接收调试函数的输出

问题描述 投票:0回答:1

那么,我想要实现的目标是什么:

我正在运行主进程,它会分叉2个其他节点进程。我正在使用来自npm的this debug library,我需要将子进程的输出(调试函数函数)输出到父输出(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函数输出甚至来自主进程。

TheKronnY

node.js debugging
1个回答
0
投票

解决了:

只是为了尝试,我试图在主进程中使用debug.enable函数,它工作。

我使用debug.enable('master,job,service');在其他进程中启用使用的命名空间并且它有效,所以我不知道为什么,但默认情况下禁用在子进程中创建的其他命名空间。

© www.soinside.com 2019 - 2024. All rights reserved.