2016년 1월 22일 금요일

외부 process 호출 하기 in java or android


Android 에서 외부 프로세서를 실행할때 사용하던 함수입니다.
ps 나 top등 호출해서 결과를 받을때 사용이 가능합니다.

주의할점은 내부적으로 실행된 결과가 끝나야지만 출력 결과를 받을 수 있습니다.
만약 process가 끝나지 않는 출력을 계속하는 process라면 결과를 영영 돌려 받을 수 없습니다.


    public static String RunExec(String cmd)
    {
     String result = null;
     Runtime runtime = Runtime.getRuntime(); 
     java.lang.Process process; 
     try { 
             process = runtime.exec(cmd); 
             BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); 
             String line ; 
             while ((line = br.readLine()) != null) { 
              Log.i("test",line);
              if( result == null ) result = line;
              else result = result + line;
             } 
     } catch (Exception e) { 
             e.fillInStackTrace(); 
             Log.e("Process Manager", "Unable to execute command"); 
     }
     return result;
    }





댓글 없음:

댓글 쓰기