將句柄傳遞到管道中的標準輸入

將句柄傳遞到管道中的標準輸入

說我有

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

相關內容