Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android var exec=require(';子进程';).exec;连续运行的命令的回调_Android_Node.js_Adb - Fatal编程技术网

Android var exec=require(';子进程';).exec;连续运行的命令的回调

Android var exec=require(';子进程';).exec;连续运行的命令的回调,android,node.js,adb,Android,Node.js,Adb,我正试图用node.js为adb logcat命令编写一个接口,需要一些帮助,让我的函数执行连续和异步回调。此命令生成常量输出,我希望在生成回调函数时将其发送到回调函数(不是在让它运行一段时间后,然后停止它)。node.js是否可以实现这一点?如果可以,我该如何实现 这是到目前为止我的代码 exports.logcat = function(options, callback){ var logcatCmd = "adb logcat" + options; console.lo

我正试图用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);
    });
};

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

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

如果我运行命令将该数据发送到一个文件,即adb logcat>myfile.txt,我可以使用fs.watch不断检查该文件的更改吗,该命令不会重复运行,您可能必须将其放入
setInterval
中。但是如果你能做到的话,是的,那就行了。但这与在循环中运行
exec
没有什么不同,因为
fs.watch
查找上次访问/修改时间的变化,而不是内容的变化。