我有一个需要启动linux应用程序的javascript应用程序。 由于我没有找到任何方法来启动应用程序并在结束时获取,我创建了一个启动应用程序的bash脚本,并在应用程序关闭时通过命名管道发送消息。
直到这里,一切都很好,但我找不到在javascript中捕获此消息的方法。
有人知道如何在javascript中获取消息吗?
我做了搜索,但我只是在C#和C ++中找到了如何做到这一点。
来自javascript的示例:
var test = spawn('sh', ['home/pi/play.sh', data.video_id]);
只是生成一个bash命令,用于启动带有视频名称的脚本
来自bash的示例:
mkfifo btjpipe
if pgrep omxplayer
then
echo "AR">btjpipe
else
clear
omxplayer $1 > dev/null
echo "VE">btjpipe
创建管道,寻找玩家是否已经在运行,然后发送AR(“已经运行”)或启动播放器并发送VE(“视频结束”)。
答案 0 :(得分:2)
使用child_process模块和child.stdout将输出通过管道传输
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,您将在回调函数中获得输出。