首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Runtime.exec重定向dmesg的数据?

如何使用Runtime.exec重定向dmesg的数据?
EN

Stack Overflow用户
提问于 2011-11-11 11:10:31
回答 1查看 1.7K关注 0票数 1

问题1:我想用我的应用程序将内核日志重定向到其他文件。如何正确地执行此操作?代码如下所示:

代码语言:javascript
运行
复制
Runtime.getRuntime().exec("dmesg > /data/kernel_log.txt"); 

问题2:我想使用我的应用程序清除内核日志。如何纠正以下代码;

代码语言:javascript
运行
复制
Runtime.getRuntime().exec("dmesg -c"); 

Note1:,我的目标是从开始到最新获取内核的所有日志(Dmesg)。因为dmesg有缓冲区大小的限制,所以我不想仅仅为了调整缓冲区的大小而重新构建内核。

Note2:这是非常相关的;android : how to run a shell command from within code

Note3:目前我使用的是一个带有ENG模式构建的设备,这意味着这是基于根的,对吗?

Logcat错误消息:

代码语言:javascript
运行
复制
11-11 20:18:47.910: E/DmesgGetterService(2885): java.io.IOException: Error running exec(). Command: [dmesg > /data/kernel_log.txt] Working Directory: null Environment: null
...
11-11 20:19:07.920: E/DmesgGetterService(2885): Caused by: java.io.IOException: No such file or directory
...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-15 07:15:54

我能够以不同的方法获得dmesg日志。使用AlarmManager在指定的时间间隔内运行服务,从内核中获取日志,然后找到上次运行时复制的最后一行,然后追加新的日志。就这样!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8093117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档