私はノードのchild_process.execFile()
を使用して、すべての出力を標準出力とエラーストリームに入れるプロセスを開始し、通信します。プロセス、すなわち、時間の不確定量のために実行され、理論的には、出力の任意の量を生成することがあります。私はexecFile()
に最後の引数を使用していないバッファなしのchild_process.execFile()
const process = execFile('path/to/executable', [], {encoding: buffer'});
process.stdout.on('data', (chunk) => {
doSomethingWith(chunk);
});
process.stderr.on('data', (chunk) => {
renderLogMessage(chunk);
});
お知らせ私はそのすべてのデータの集約ビューを必要としないためこれらの流れのいずれかから出てきた。この省略にもかかわらず、Nodeはとにかく出力をバッファリングしているように見えます。大量の出力を生成するのに十分な入力を与えるだけで、確実にプロセスを終了させることができます。プロセスがステートフルであり、単純に定期的に再起動できないため、問題があります。
この動作を変更または回避するにはどうすればよいですか。