nodejs node child_process node.js stream child-process

node.js - child_process - spawn process node



Nodejs child_process spawn custom stdio (1)

Parece ser un error: https://github.com/nodejs/node-v0.x-archive/issues/4030 customStream parece no estar listo cuando se pasa a spawn (). Puede solucionar este problema fácilmente:

const cp = require(''child_process''); const stream = require(''stream''); // use a Writable stream var customStream = new stream.Writable(); customStream._write = function (data) { console.log(data.toString()); }; // ''pipe'' option will keep the original cp.stdout // ''inherit'' will use the parent process stdio var child = cp.spawn(''ls'', [], { stdio: [null, ''pipe'', ''inherit''] }); // pipe to your stream child.stdout.pipe(customStream);

Me gustaría utilizar la transmisión personalizada para manejar child_process.spawn stdio.

Por ejemplo

const cp = require(''child_process''); const process = require(''process''); const stream = require(''stream''); var customStream = new stream.Stream(); customStream.on(''data'', function (chunk) { console.log(chunk); }); cp.spawn(''ls'', [], { stdio: [null, customStream, process.stderr] });

Obtengo un error Incorrect value for stdio stream .

Hay documentación para child_process.spawn https://nodejs.org/api/child_process.html#child_process_options_stdio . Dice para las opciones de stdio que puede tomar el objeto Stream

Objeto Stream: comparta una secuencia legible o grabable que hace referencia a un tty, un archivo, un socket o un conducto con el proceso hijo.

Supongo que me falta esta parte de "se refiere a".