TypeError:dest.on不是函数

时间:2017-11-10 06:30:35

标签: node.js fs

我正在尝试将子进程的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

2 个答案:

答案 0 :(得分:1)

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

答案是 -

  

你想要fs.createWriteStream()。 fs.openSync()只返回一个文件   描述符。

所以它会是:

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

答案 1 :(得分:0)

在生成过程时设置silent参数,如下所示:

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