【发布时间】:2016-10-27 21:10:18
【问题描述】:
当我在 bash 中运行它时:
mkfifo im-a-pipe && node -e '
var fs = require("fs")
var childProcess = require("child_process")
console.log("pre-open")
fs.open("im-a-pipe", "w", function(err, fd){
if(err)
throw err
console.log("opened")
})
console.log("post-open")
childProcess.exec("echo wat")
console.log("YOU CAN NOT SEE MEEE")
'
我希望得到以下输出:
pre-open
post-open
YOU CAN NOT SEE MEEE
但节点在打印前两行后等待:
pre-open
post-open
我认为这可能与管道阻塞有关,直到另一侧打开,但这种行为让我感到惊讶。
我是否遗漏了这些功能的运作方式?
【问题讨论】:
标签: javascript node.js bash mkfifo