1

我有一个需要启动 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(“Already Running”)或启动播放器并发送 VE(“Video End”)。

4

1 回答 1

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,您将在回调函数中获得输出。

于 2013-07-24T08:35:53.900 回答