2016-07-21 35 views
0

首先对不起我的英文不好。Android:Android kill tcpdump进程

我在Android Studio中开发了一个应用程序。它调用tcpdump(Process process = Runtime.getRuntime()。exec(“su -c tcpdump -s 0 -v -w /sdcard/capture.pcap”);)。最初它能正常工作。但是,tcpdump进程突然中断。有人会告诉我为什么吗?

谢谢

回答

0

它可能会告诉你,为什么在标准错误:

final Process p = Runtime.getRuntime().exec(tcpdumpCommand); 
final BufferedReader reader = new BufferedReader(
    new InputStreamReader(p.getErrorStream())); 
(new Thread() { 
    public void run() { 
    while ((line = reader.readLine()) != null) { 
     Log.d("tcpdump", "stderr: " + line); 
    } 
    Log.d("tcpdump", "end of stderr"); 
    } 
}).start(); 

...然后查看logcat中。或者试试getOutputStream()(用于标准输出)而不是getErrorStream()

此外,如果tcpdump成功捕获流量然后突然停止,一个可能的原因是您填充了SD卡。