2017-12-23 8 views
0

で子プロセスからのデバッグ機能の出力を受信します。私はthis debug libraryをnpmから使用しています。子プロセスの出力(デバッグ関数関数の)が親の出力にパイプされる必要があります(stdoutstderr)。は私が達成しようとしていますので、親

現在、私が正常にパイプで連結されたそうだ何がconsole.log("...");ではなく、次のとおりです。

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

私はこのコードを使用して子プロセスをforkしています:

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); 

誰も私には何の問題が可能性があります見つける助けてもらえあれ?ありがとう:)

EDIT: この問題は、おそらくストリーム配管に何らかのエラーが原因ではない - 代わりに、存在しない/既存のコンソールウィンドウで何か、接続された端末があります。

組み込みツールを使用してPhpStormからサーバーを実行しようとしたときに、console.log関数の出力がであっても、マスタープロセスであっても表示されていました。

TheKronnY

答えて

0

を解決:

だけしようとするために、私はマスター・プロセスでdebug.enable機能を使用しようとそれがを働きました。

私は他のプロセスで使用される名前空間を有効にするためにdebug.enable('master,job,service');を使用し、それが働いていたので、私はなぜ知らないが、子プロセスで作成された他のネームスペースは、デフォルトでは無効になりました。

関連する問題