如何stream入/从节点中的文件描述符?

fs.createReadStream()fs.createWriteStream()只支持文件path,但是我需要从文件描述符(从subprocess传入/从subprocess)读取(或写入)。

注意我需要Streams,所以fs.open/fs.read/fs.write是不够的。

当你调用fs.createReadStream时,你可以传入一个文件描述符:

 var fs = require('fs'); var fd = fs.openSync('/tmp/tmp.js', 'r'); var s = fs.createReadStream(null, {fd: fd}); s.pipe(process.stdout); 

如果有一个fd选项,文件名将被忽略。

 // Open &3: process.oob1 = fs.createWriteStream(null, { fd: 3 }); // Write to &3 / oob1 (out-of-band 1) process.oob1.write("Note: this will throw an exception without 3>&1 or something else declaring the existence of &3");