2016-02-28 25 views
5
var childProcess = cp.spawnSync(command, args, { 
    cwd: process.cwd(), 
    env: process.env, 
    stdio: 'inherit', 
    encoding: 'utf-8' 
}); 

childProcess.output常に当量のchild_process.spawnSyncの読み方標準出力、標準入出力オプション[ヌルヌル、ヌル、]「継承」

process.stdout.writeフックが私に任意の出力を与えるものではありません

+0

これにはどんな解決策がありますか?私は同じ問題を抱えていますが、プログレス表示を維持するために '' inherit ''を使う必要がありますが、 '' stdout.write'をフックしたり、 '' data'イベントをlistenすることはできません。 –

+0

@FranDios私の回避策は、プロセス出力を取得する 'stdio:[0、isOutputNeeded? 'pipe':1、2]、 ' –

答えて

6

'pipe'を使用しない場合、childProcess.outputには出力が含まれません。

var cp = require('child_process'); 

var command = 'echo'; 
var args = ['hello', 'world']; 

var childProcess = cp.spawnSync(command, args, { 
    cwd: process.cwd(), 
    env: process.env, 
    stdio: 'pipe', 
    encoding: 'utf-8' 
}); 

console.log(childProcess.output); // [ null, 'hello world\n', '' ] 

この

はみかんちょっと他の場所 documentation for child.stdoutとに示されているが、それは完全に明確なではありません。 (是非、改善が見たい場合は、 the Node.js repoに対してプルリクエストを開いてください。)

+0

このようにして、child_processの進行状況が表示されません。それは私のために重要です。 –

関連する問題