read.js:
require('fs').readFileSync('/dev/stdin', 'utf-8');
spawn.js:
let {spawnSync} = require('child_process');
for (let i=0; i<1000; i++) {
let result = spawnSync('node', ['read.js'], {input:'SOME DATA'});
if (result.status) {
console.log(result.stderr.toString());
break;
}
}
Запуск node spawn.js
выдаёт:
Error: ENXIO: no such device or address, open '/dev/stdin'
at Object.fs.openSync (fs.js:651:18)
at Object.fs.readFileSync (fs.js:553:33)
at Object.<anonymous> (/home/ras/jstest/read.js:1:77)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Function.Module.runMain (module.js:605:10)
at startup (bootstrap_node.js:158:16)
ШЗН? Гугл говорит, что проблема известна, но решать её не собираются.
Как в node.js прочесть всё содержимое stdin?