首先抱歉我的英语不好。
我在Android Studio中开发了一款应用。它调用tcpdump(Process process = Runtime.getRuntime()。exec(" su -c tcpdump -s 0 -v -w /sdcard/capture.pcap");)。最初它可以正常工作。但是,tcpdump进程突然被杀死。有人会告诉我为什么吗?
谢谢
答案 0 :(得分: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卡。