ハンドルをパイプラインの標準入力に渡す

ハンドルをパイプラインの標準入力に渡す

持っていると言う

node foo.js | node bar.js

foo の stdin のハンドルを bar に渡す方法はありますか?

パイプライン内で逆方向に通信したいという稀なケースがあります。

少なくとも、node bar.js に node foo.js の pid を送信できることはわかっています。その pid があれば、*nix では、次のようにして foo の stdin に書き込むことができるはずです。

/proc/<pid>/fd/0

しかし、MacOS でも同じことを実行する方法はありますか?

答え1

一般的なケースでは、いいえです。 の stdin の書き込みハンドルは、fooその親プロセスのみが管理しているからです (は読み取りハンドルのみを参照します)。 2 つの間に特定のパイプ (匿名または FIFO) を設定する必要があります。の親と同時にそのハンドルに書き込んだfoo場合に何が起こるかわからないので、この方法の方がよいでしょう。barfoo

関連情報