
명명된 파이프를 통해 백그라운드 프로세스와 통신해야 합니다. 이 백그라운드 프로세스는 node.js 프로세스입니다.
그래서 쉘 스크립트에서 이 작업을 수행합니다.
mkfifo MYPIPE
node script.js < MYPIPE
무슨 일이 일어나는가 하면 node.js 스크립트가 시작되지 않는다는 것입니다. 즉, 첫 번째 stdin 메시지가 기록되기를 기다리고 있는 것 같습니다 MYPIPE
.
내가 하고 싶은 것은 MYPIPE의 데이터를 노드 프로세스의 stdin으로 보내는 것입니다. 하지만 MYPIPE의 첫 번째 메시지를 기다리는 대신 node.js 프로세스를 시작하고 싶습니다. 어떻게 해야 하나요?
답변1
대신에 이 작업을 수행하는 간단한 경우였습니다.
cat MYPIPE | node script.js
나는 그것이 왜 다르게 행동하는지 이해하지 못하는 것 같습니다.
node script.js < MYPIPE