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

2023-11-29

我有 Android 应用程序,在服务启动时实现以下代码:

...
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.ui
app_125   4796  4782  1028   592   ffffffff 00000000 S logcat
app_125   4839  4782  1076   640   ffffffff 00000000 S logcat
app_125   4842  4782  952    516   ffffffff 00000000 S logcat
app_125   4845  4782  896    460   ffffffff 00000000 S logcat
app_125   4848  4782  900    464   ffffffff 00000000 S logcat
app_125   4851  4782  876    440   ffffffff 00000000 S logcat
shell     4852  171   788    336   c00cc7e4 afd0c78c S /system/bin/sh
shell     4853  4852  944    332   00000000 afd0b83c R ps
app_123   11189 144   114484 18908 ffffffff 00000000 S com.mspot.android.moviesClub.att  

... logcat 进程列表。我怎样才能杀死他们?

有任何想法吗


既然你有一个句柄Process例如,你应该能够使用process.destroy()当您停止服务时。 Logcat 进程独立于您的应用程序运行,因此它们将在您的应用程序退出后继续运行Service除非您终止它们,否则将停止运行。

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

EDIT:

The Process文档还指定您应该使用ProcessBuilder设置并运行该流程:

ProcessBuilder pb = new ProcessBuilder("logcat", "-v", "time", "-s", arg);
pb.redirectErrorStream(true);
Process process = pb.start();
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何杀死Android应用程序启动的logcat进程? 的相关文章

  • Android主线程的IO操作

    我的问题有两个 是否建议在 Android 的主线程上进行 IO 操作 或者它是否有可能导致我的应用程序崩溃 如果在主线程上执行 IO 操作不理想 我可以使用哪些其他框架 以便当我的应用程序加载时它可以执行一些基本的 IO 文件读取并将值存
  • 如何替换 Android 中已弃用的 Bundle/Argument get(key) 调用

    我有以下扩展函数 允许我在应用程序活动和片段之间传递捆绑数据项 inline fun
  • 如何使用 gradle 从 3 个子模块构建 1 个 jar

    I have 安卓工作室3 gradle 4 1 梯度工具3 classpath com android tools build gradle 3 0 1 当我有一个模块并使用 gradle 工具 2 时 我使用了 task makeJar
  • socket.io xhr 在连接缓慢时出现错误(3G 移动网络)

    当我在 3G 移动网络 互联网连接速度慢 上测试我的真实聊天应用程序时 Socket io反复断开然后重新连接 我已经记录了原因 它说 xhr post error 这提高了 transport error 然后断开连接 我可以知道什么意思
  • 当满足条件时,如何以编程方式更改 ImageButton src 目标?

    我有一个学校项目 我正在尝试开发一个手电筒应用程序 对于开 关 ImageButton 我想要 4 个自定义图像 如果手电筒关闭 turn on png 默认 turn on pressing png 按下状态 true 如果手电筒打开 t
  • 在 gradle 中,我应该排除分支下的所有依赖项还是只排除根就足够了?

    我已将以下自定义任务添加到我的build gradlefile 为了打印出依赖项的依赖项 This part is useful for finding conflict resolution s between dependencies
  • 如果使用grifika的ContinualCaptureActivity中的预览方式,相机预览的视野会更小

    我们知道 当相机预览比例设置为时 在相同距离下我们会得到更大的预览视野4 3代替16 9 具体如下 Android Camera API 奇怪的缩放效果 https stackoverflow com questions 20664628
  • 华为手机“受保护的应用程序”设置及处理方法

    我有一台搭载 Android 5 0 的华为 P8 用于测试应用程序 该应用程序需要在后台运行 因为它跟踪 BLE 区域 我发现华为内置了一个名为 受保护的应用程序 的 功能 可以从手机设置 电池管理器 gt 受保护的应用程序 访问该功能
  • 需要 Android webview window.open() 和 window.close() 的信息

    我正在开发一个安卓应用程序 这是我网站的 WebView 该网站包含一个弹出按钮 单击该按钮后 将打开一个新窗口并显示内容 该链接可以来自外部站点 然而 当我实现此操作时 新选项卡正在打开 之后它会弹出以打开浏览器 尽管在 Web 视图中打
  • 在新的 intel x86 android 模拟器中访问 google api

    我只是尝试在新的 x86 android 模拟器中运行我公司的应用程序 但是我们的应用程序依赖于 google 地图 API 而这在 google 随 android sdk 版本 17 提供的 x86 系统映像中不可用 我的直觉告诉我答案
  • 控制 OverlayItem 大小

    我正在构建一个在单个 ItemizedOverlay 中包含几十个 OverlayItems 的地图 我的地图设计为可以非常近距离地查看 大约缩放级别 18 并且 OverlayItems 彼此非常接近 地图放大时看起来不错 但是 如果用户
  • 如何使用 SharedPreferences 保存多个值?

    我正在开发一个字典应用程序 在我的应用程序中 我假设用户想要保存最喜欢的单词 我决定使用共享首选项保存这些值 我知道 SQLite 和文件更好 但我坚持使用 SharedPreferences 所以继续使用它 下面是我的代码 Overrid
  • Android 上的 MIDI:Java 和/或 AIR 库

    一段时间以来 我一直在考虑在 iPad 上 重新 构建一个应用程序 其中我将使用 Objective C 和DSMI http dsmi tobw net 将 MIDI 信号发送到主机 这还不错 我的意思是 除了实际编写应用程序之外 现在我
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • 测量进程消耗的 CPU 时钟

    我用 C 语言编写了一个程序 它是作为研究结果创建的程序 我想计算程序消耗的确切 CPU 周期 精确的循环次数 知道我怎样才能找到它吗 The valgrind tool cachegrind valgrind tool cachegrin
  • Android模拟器中的网络访问

    我试图通过我的 Android 应用程序访问互联网 但我既成功又失败 我在构建应用程序时启动模拟器 并且应用程序安装得很好 我可以使用浏览器访问互联网 但是 当我尝试这个小代码片段时 InetAddress inet try inet In
  • 哪个视图最亮?

    在Android中 哪个是轻量级视图 例如 View Textview Edittext 等 在某些情况下 我们需要使用视图来填充区域而不向用户显示视图 同时屏幕加载速度应该很快 您可以使用空间 android widget Space S
  • onTaskRemoved() 在华为和小米设备中没有被调用

    我一直在使用onTaskRemoved 服务中的方法 用于检测应用程序何时通过滑动从设备最近列表中删除 我执行一些日志记录和发生这种情况时需要执行的一些其他操作 它工作完美 然后我在运行Android 6 0的华为设备上检查了这个方法 该方
  • 离子初始加载时间

    我正在使用 Ionic 构建一个简单的应用程序 但我的应用程序在冷启动时的初始加载时间方面存在性能问题 这是我所做的 collection repeat 代替带有 track by 的 ng repeat 原生滚动 overflow scr
  • fs-extra:源和目标不能相同。 (科尔多瓦)

    我在使用 cordova 构建时遇到错误 Error Source and destination must not be the same 构建系统 Ionic ionic cli 4 10 1 ionic framework ionic

随机推荐

  • XmlPullParser如何获取res/raw/xml/xmlfilename?

    我是编程新手 所以如果我在下面的段落中错了 请首先纠正我 Android 中主要使用三种 xml 解析器 Sax Dom 和 XmlPullParser 最后一个选项 同时作为外部资源存在 是 Android 的 核心 因此工作速度更快 但
  • 错误栏末端缺失

    示例代码如下 require ggplot2 stats lt data frame Day 0 5 Mean c 3 2 2 7 0 8 0 2 0 0 Q10 0 0 Q90 c 7 48 4 0 2 2 1 2 0 0 plot lt
  • MSI升级并保留注册表项?

    我们在该领域有一个产品 1 0 我正在尝试更新该产品的安装程序 以便它可以安装旧版本 安装新版本 2 0 我正在使用 Visual Studio 2010 安装项目来执行此操作 我维护了 UpgradeCode 并将删除早期版本设置为 tr
  • 如何获得在C#中编辑app.config的管理员权限?

    我有一个程序 它使用 app config 来存储一些首选项 问题是 如果该程序安装在C program files 那么更改首选项是不可能的 因为所有文件程序文件 仅管理员可用 My code public static bool Edi
  • 使用 ADAL 对 Azure API 应用程序进行身份验证

    我有一个标记为 公共 已验证 的 Azure API 应用程序 并在关联的网关中设置了 Azure Active Directory 身份 详细信息请参阅保护 API 应用程序 然后 我在同一 Azure Active Directory
  • flutter 在小部件的多个实例之间共享状态

    在我的扑动应用程序中 我有一个ConnectivityStatus显示应用程序到我的树莓派的当前连接状态的小部件 在里面initState在我的小部件中 我订阅了一个计时器 每 5 秒检查一次连接并相应更新状态 然后在处理后取消订阅 问题是
  • Android Studio:com.android.ide.common.process.ProcessException:

    我正在尝试将 ArcGis 与 Android Studio 一起使用 我尝试按照以下步骤操作 https developers arcgis com android guide install and set up htm http bl
  • 刷新页面出现 404:仅在使用 /dist 文件夹时发生

    我有一个 LoopBackJS Restful 服务器运行在 localhost 3000 在前端 我有一个简单的 Angular 2 应用程序 它使用上述 API 当出现以下情况时 一切工作正常 使用nodemon运行服务器 根文件夹位于
  • 绘制熊猫时间增量

    我有一个 pandas 数据框 它有两个 datetime64 列和一个 timedelta64 列 这是两列之间的差异 我正在尝试绘制 timedelta 列的直方图以可视化两个事件之间的时间差 然而 仅仅使用df time delta
  • 如何增加Mapkit中userLocation注释的半径

    我的应用程序需要用户许可并将地图移动到该位置 默认情况下在该位置MapKit添加一个正在生成一些脉冲的蓝色图标 我到处搜索 但我发现如何添加一个 1000m 的圆圈userLocation 我不想要这样 你可以说我正在寻求定制userLoc
  • 帮助使用 int 的 TSQL IN 语句

    我正在尝试在存储过程中创建以下选择语句 dealerids nvarchar 256 SELECT FROM INVOICES as I WHERE convert nvarchar 20 I DealerID in dealerids I
  • 使用 GRPC 流请求进行代理负载平衡

    我们使用流式 RPC 将大文件发送到 GRPC 服务器 像这样 service FileReceiver rpc addData stream DataChunk returns Empty 在这种情况下是否可以使用代理负载均衡器 以便负载
  • 如何防止窗户被移动?

    我将如何阻止表格被移动 我将表单边框样式设置为 固定单一 并希望保持这种方式 因为它在 vista 中看起来不错 看看这个link 您可能对选项 3 感兴趣 它将要求您包装一些本机代码 但应该可以工作 链接底部还有一条评论 显示了一种更简单
  • 一次解析器中有多个匹配项?

    我正在尝试 还 用从日志解析的数据填充多个向量 关键是尽可能快速高效地完成 因此我想仅在一次传递中收集所有数据 而不是规则之间的 或 我发现了接下来的问题 1 每次我使用spirit 但它没有按预期工作时 我发现自己完全不知所措 并尝试了两
  • 在 Crystal Report 2008 中使用 .net 对象作为数据源

    HI all 我创建了一个 net 对象 例如 A 其中包含从表中收集的数据 接下来 我创建一个List a 并传递给SetDataSource 的方法ReportDocument目的 当我运行时 抛出了异常 CrystalDecision
  • MYSQL - 为表中的每个类别选择前 4 条记录

    我有一张桌子INVENTORY其中有其他列CATEGORY and UPDATED 按这些列对表进行排序很容易 SELECT FROM INVENTORY ORDER BY CATEGORY ASC UPDATED ASC 我想要的是获得一
  • Zend Framework - 并未显示所有错误

    在操作方法中 我有以下代码摘录 error reporting E ALL ini set display errors 1 Logger log test Logger类是这样定义的 class Logger public static
  • 为什么我的 git 推送到 HostGator 共享主机失败?

    我正在尝试将本地存储库部署到远程目录 我已经跑了git init bare在此远程目录中 并将正确的 ssh 路径添加到我的本地 git repo 分支 名为 dev git remote add server ssh email prot
  • 使用 SPARQL 获取图形路径[重复]

    这个问题在这里已经有答案了 我们有以下海龟数据集 表示我们想要观察某些属性的图表 prefix v1
  • 如何杀死Android应用程序启动的logcat进程?

    我有 Android 应用程序 在服务启动时实现以下代码 Process process Runtime getRuntime exec logcat v time s arg BufferedReader bufferedReader n