Передать дескриптор на stdin вниз по конвейеру

Передать дескриптор на stdin вниз по конвейеру

Скажи, что у меня есть

node foo.js | node bar.js

есть ли способ передать дескриптор stdin foo в bar?

У меня есть редкий случай, когда мне хотелось бы общаться в обратном порядке по ходу дела.

По крайней мере я знаю, что я мог бы отправить node bar.js pid узла foo.js. Учитывая этот pid, в *nix я должен иметь возможность писать в stdin foo, используя:

/proc/<pid>/fd/0

но есть ли способ сделать то же самое на MacOS?

решение1

В общем случае нет, поскольку дескриптор записи stdin fooнаходится только в руках его родительского процесса ( fooвидит только дескриптор чтения)... Вам нужно настроить специальный канал (анонимный или FIFO) между ними; и это в любом случае лучше, поскольку вы не знаете, что произойдет, если barзапись в этот дескриптор будет произведена одновременно с записью в fooродительский процесс.

Связанный контент