TypeError: dest.on is not a function

TypeError: dest.on is not a function

我正在尝试将子进程的 stdout/stderr 传送到 /dev/null

我有这个:

const k = cp.spawn('bash');
...
k.stderr.pipe(fs.openSync('/dev/null', 'w'));

我收到这个错误:

TypeError: dest.on is not a function

任何人都知道如何将 stdout/stderr 显式发送到 /dev/null

像这样生成进程时设置 silent 参数:

const k = cp.spawn( "bash", [], { silent: true } );

是的,我在 Node.js 帮助中问过这个问题 https://github.com/nodejs/help/issues/961

答案是-

You want fs.createWriteStream(). fs.openSync() just returns a file descriptor.

所以会是:

k.stderr.pipe(fs.createWriteStream('/dev/null'));