bash和javascript之间的消息通过命名pipe道

我有一个JavaScript应用程序需要启动一个Linux应用程序。 由于我没有find任何方式来启动应用程序,当它结束时,我做了一个bash脚本启动应用程序,并在应用程序closures时通过命名pipe道发送消息。

直到这里,一切都很好,但是我找不到在javascript中捕获这个消息的方法。

有人知道如何获得在JavaScript的消息?

我search了,但我只发现如何在C#和C ++中做到这一点。

来自javascript的示例:

var test = spawn('sh', ['home/pi/play.sh', data.video_id]); 

只是产生一个bash命令,以video的名称启动脚本

来自bash的示例:

 mkfifo btjpipe if pgrep omxplayer then echo "AR">btjpipe else clear omxplayer $1 > dev/null echo "VE">btjpipe 

创buildpipe道,寻找玩家是否已经在运行,然后发送AR(“已经运行”)或启动播放器并发送VE(“Video End”)。

使用child_process模块​​和child.stdout来pipe输出你想要的

 var spawn = require('child_process').spawn; var test = spawn('sh', ['home/pi/play.sh', data.video_id]); test.stdin.pipe(process.stdin); test.stdout.pipe(process.stdout); test.stderr.pipe(process.stderr); 

在这种情况下到当前的过程

也许你也可以使用“exec”而不是spawn,你会在callback函数中得到输出。