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".