
名前付きパイプを介してバックグラウンド プロセスと通信する必要があります。このバックグラウンド プロセスは node.js プロセスです。
そこで私はシェルスクリプトでこれを実行します:
mkfifo MYPIPE
node script.js < MYPIPE
何が起こるかというと、node.js スクリプトは起動せず、最初の stdin メッセージが書き込まれるのを待っているようですMYPIPE
。
私がやりたいのは、MYPIPE からノード プロセスの stdin にデータを送信することですが、MYPIPE からの最初のメッセージを待つのではなく、node.js プロセスを開始したいと思います。どうすればいいでしょうか?
答え1
これは、代わりに次のようにするだけの単純なケースです。
cat MYPIPE | node script.js
なぜそれが違う動作をするのか理解できない
node script.js < MYPIPE