如何杀死Android应用程序启动的logcat进程?

如何杀死Android应用程序启动的logcat进程?,第1张

概述我有 Android应用程序,在Service启动实现后面跟着代码: ...Process process = Runtime.getRuntime().exec("logcat -v time -s " + arg);BufferedReader bufferedReader = new BufferedReader( new InputStreamReade 我有 Android应用程序,在Service启动实现后面跟着代码:

...Process process = Runtime.getRuntime().exec("logcat -v time -s " + arg);BufferedReader bufferedReader = new BufferedReader(                new inputStreamReader(process.getinputStream()));...

如您所见,我启动logcat进程来监听日志.
不幸的是,停止服务不会停止logcat,并在几次启动后得到:

app_125   4782  144   137124 30584 ffffffff 00000000 S com.wefi.agnt.uiapp_125   4796  4782  1028   592   ffffffff 00000000 S logcatapp_125   4839  4782  1076   640   ffffffff 00000000 S logcatapp_125   4842  4782  952    516   ffffffff 00000000 S logcatapp_125   4845  4782  896    460   ffffffff 00000000 S logcatapp_125   4848  4782  900    464   ffffffff 00000000 S logcatapp_125   4851  4782  876    440   ffffffff 00000000 S logcatshell     4852  171   788    336   c00cc7e4 afd0c78c S /system/bin/shshell     4853  4852  944    332   00000000 afd0b83c R psapp_123   11189 144   114484 18908 ffffffff 00000000 S com.mspot.androID.movIEsClub.att

… logcat进程列表.我怎么能杀了他们?

有任何想法吗

解决方法 由于您在Process实例上有句柄,因此在停止服务时应该能够使用process.destroy(). Logcat进程独立于您的应用程序运行,因此它们将在您的应用程序服务停止运行后继续运行,除非您终止它们.

如果您只想在测试应用程序时清理设备上的进程,则可以运行adb shell以在设备上获取shell提示符,然后使用kill< PID>终止进程.

编辑:

Process文档还指定您应该使用ProcessBuilder来设置和运行该过程:

ProcessBuilder pb = new ProcessBuilder("logcat","-v","time","-s",arg);pb.redirectErrorStream(true);Process process = pb.start();...
总结

以上是内存溢出为你收集整理的如何杀死Android应用程序启动的logcat进程?全部内容,希望文章能够帮你解决如何杀死Android应用程序启动的logcat进程?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1128714.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存