2013-02-19 4 views
1

'strace'명령을 사용하여 Android 앱과 관련된 시스템 호출 실행을 기록하고 있습니다. 나는 시스템을 strace를 어떻게특정 기간 동안 strace를 실행하는 방법

Process process = Runtime.getRuntime().exec("su"); 
OutputStream os; 
os = process.getOutputStream(); 
os.write("strace -p"+processID+" -o /mnt/sdcard/straceLog.txt".getBytes()); 
os.close(); 

는에

+0

strace (적어도 Android 버전)에는 이러한 옵션이없는 것 같습니다. 가능한 시간은 자바 앱에서 타이머를 실행하고 잠시 후 strace (또는 상위 수퍼 유저 셸)를 죽이거나 시간 제한이있는 수정 된 strace를 작성하는 것일 수 있습니다. 당신은 또한 자바에서 출력을 캡쳐 한 다음 원하는만큼 파이프를 닫은 다음, 닫히는 결과로 인해 strace가 EPIPE에서 죽는 지 확인하면 파이프를 닫는 것을 고려할 수 있습니다. –

답변

0

실행 strace를 ... 전용 응용 프로그램 (30초 말)에 대한 특정 기간 동안 호출하고 that..Please 도움이 후 strace를 실행 중단 백그라운드 프로세스를 종료하고 주어진 시간이 지난 후 프로세스를 종료하십시오.

Command line command to auto-kill a command after a certain amount of time

os.write ("strace를 -p"+ 프로세스 ID + "/mnt/sdcard/straceLog.txt -o & 잠 30;! $ 죽이기". getBytes());

관련 문제