我有这个:
const p = path.resolve(projectRoot + '/NAMEDPIPEIN');
const fd = fs.openSync(p, 'r+');
fs.createReadStream(null, {fd}).on('data', function (d) {
if (String(d).trim() === '[stdin end]') {
return process.nextTick(cb);
}
process.argv.push(String(d).trim());
});
我启动了Node.js进程,稍后我会写入命名管道。出于某种原因,在数据回调函数中没有接收到任何数据。
我是这样写入命名管道的:
mkfifo NAMEDPIPEIN
echo "foo bar baz" > NAMEDPIPEIN
child_process.spawn()
不是解决你正在尝试做的事情的方法吗? - robertklep