var exec = require('child_process')。exec;连续运行的命令的回调

时间:2013-05-30 22:24:02

标签: android node.js adb

我正在尝试使用node.js为adb logcat命令编写一个接口,并且需要一些帮助让我的函数执行连续和异步回调。此命令生成我想要在生成回调函数时发送的常量输出(不是在我让它运行一段时间然后停止它之后)。这是可能的node.js,如果是这样,我该怎么做?

到目前为止,这是我的代码

exports.logcat = function(options, callback){
    var logcatCmd = "adb logcat" + options;
    console.log("sending command: " + logcatCmd);
    exec(logcatCmd, function(error, stdout, stderr){
        if(error !== null){
            console.log("encountered error = " + error);
        }
        callback(stdout);
    });
};

1 个答案:

答案 0 :(得分:1)

简而言之,不;你不能watch shell命令用于新输出,就像你可以从更改的文件或套接字流式传输数据一样。

如果它生成常量输出,则更有可能只是从某个日志文件读取并打印 它在屏幕上。您应该找出从中获取数据的文件,并使用fs.watchreadableStream来连续获取数据流。