将句柄传递到管道中的标准输入

将句柄传递到管道中的标准输入

说我有

node foo.js | node bar.js

有没有办法将 foo 的 stdin 上的句柄传递给 bar?

我有一个罕见的情况,我想在管道中向后通信。

至少我知道我可以向节点 bar.js 发送节点 foo.js 的 pid。考虑到 pid,在 *nix 上,我应该能够使用以下命令写入 foo 的标准输入:

/proc/<pid>/fd/0

但有没有办法在 MacOS 上做同样的事情呢?

答案1

一般情况下不会,因为 stdin 的写句柄foo仅在其父进程手中(foo只能看到读句柄)...您必须在两者之间设置特定的管道(匿名或 FIFO);无论如何,这更好,因为您不知道如果与的父级bar同时写入该句柄会发生什么。foo

相关内容