Запретить stdin ожидать первое сообщение из именованного канала

Запретить stdin ожидать первое сообщение из именованного канала

Мне нужно связаться с фоновым процессом через именованный канал. Этот фоновый процесс — процесс node.js.

Итак, я делаю это в скрипте оболочки:

mkfifo MYPIPE
node script.js < MYPIPE

происходит следующее: скрипт node.js не запускается — похоже, он ожидает записи первого сообщения stdin в MYPIPE.

Что я хочу сделать, так это отправить данные из MYPIPE в stdin процесса node, но я хочу запустить процесс node.js вместо того, чтобы он ждал первого сообщения от MYPIPE. Как мне это сделать?

решение1

это был всего лишь простой случай, когда можно было бы сделать следующее:

cat MYPIPE | node script.js

Думаю, я просто не понимаю, почему это ведет себя иначе, чем

node script.js < MYPIPE

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