防止 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

相關內容