2013-05-30 2 views
0

내가 Node.js를 함께 ADB 로그 캣 명령에 대한 인터페이스를 작성하고, 내 기능은 연속 및 비동기 콜백을 가진 도움을 필요로하는 것을 시도하고 실행 명령에 대한 콜백. 이 명령은 콜백 함수가 생성 될 때 콜백 함수에 보내려는 상수 출력을 생성합니다 (잠시 실행 한 다음 중지시키지 않습니다). node.js로 가능합니까? 그렇다면 어떻게해야합니까? 여기 var exec = require ('child_process'). exec; 지속적으로

내 코드입니다 지금까지

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

즉, 더; 당신은 새로운 출력을위한 watch 쉘 명령을 사용할 수 없으며, 같은 방법으로 변경중인 파일이나 소켓에서 데이터를 스트리밍 할 수 있습니다. 그것은 일정한 출력을 생성하는 경우

, 그것은 단지 일부 로그 파일에서 읽고 더 가능성이 높습니다 화면에 인쇄 을. 데이터를 가져 오는 파일을 알아 내야하고, 을 사용하여 fs.watch을 사용하여 계속해서 데이터 스트림을 가져와야합니다.

+0

내가 지속적으로 변경이 파일을 확인하기 위해 파일 즉, ADB 로그 캣> MYFILE.TXT, 내가 사용할 수 있습니다 fs.watch에 데이터를 전송하는 명령을 실행하면? – ceptno

+0

글쎄, 그 명령 자체를 반복적으로 실행되지 않습니다, 당신은 아마'setInterval' 안에 넣어야 만합니다. 하지만 네가 할 수 있다면 네가 잘될거야. 하지만'fs.watch'는 내용이 변경되지 않고 마지막 액세스/수정 시간의 변경을 찾기 때문에 루프에서'exec'를 실행하는 것과 다를 바 없습니다. –