防止 stdin 等待来自命名管道的第一条消息

防止 stdin 等待来自命名管道的第一条消息

我需要通过命名管道与后台进程进行通信。这个后台进程是一个node.js进程。

所以我在 shell 脚本中执行此操作:

mkfifo MYPIPE
node script.js < MYPIPE

发生的情况是,node.js 脚本没有启动 - 它似乎正在等待第一个 stdin 消息写入MYPIPE

我想做的是将数据从 MYPIPE 发送到节点进程的标准输入,但我想启动 node.js 进程而不是等待来自 MYPIPE 的第一条消息。我怎么做?

答案1

这只是一个简单的例子:

cat MYPIPE | node script.js

我想我只是不明白为什么它的行为与

node script.js < MYPIPE

相关内容