...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进程?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)