如何检查Android平台中init.rc(init进程)的输出?

时间:2012-08-24 03:43:11

标签: android linux linux-kernel system

我想在发生某些事件时转储堆栈,所以我将脚本编写到 init.rc ,如下所示。然后我使用setprop dump_stack 0setprop dump_stack 1来装配它,但我的控制台中没有输出?

on property:dump_stack=1
       exec /system/bin/cat /proc/100/stack    # pid = 100

我在system \ core \ init \ builitins.c中添加了一些日志,它说代码是有效的(retstatus为0)。即使我将脚本更改为“exec / system / bin / cat / proc / 100 / stack> / data / temp”,它仍然无效。那么,init.rc(init进程)的输出在哪里?

PS。我将脚本写入init.rc的原因是“Permission”。 init进程是root,因此它可以转储其他进程的堆栈。

而且,语法是否正确?我在http://www.kandroid.org/online-pdk/guide/bring_up.html

中用 Android Init Language 编写“exec / system / bin / cat / proc / 100 / stack”

1 个答案:

答案 0 :(得分:3)

Init正在写入内核缓冲区。您可以使用dmesg查看其输出。确保在init.rc文件中增加loglevel。