android - 初始化.rc : service killed and restarts

标签 android c shell init

我在 init.rc 中将 shell 脚本作为服务运行,但它被终止并不断重新启动。

服务在init.rc中注册如下

service Storelog /system/bin/logwrapper /system/bin/store_log.sh
user root
disabled

脚本store_log.sh是

#!bin/sh
while true 
do
 echo "Updating system log.."
 logcat > /data/system.log &
 sleep 600 
 echo "Killing background logcat."
 logpid=$!
 echo "logpid $logpid"
 kill $logpid
 logcat -c

done

我将在某些触发器(例如 boot_completed)上启动此 Storelog

该服务启动,在一个循环后被终止并重新启动。

我在这里缺少什么?一些许可? 任何建议都有帮助。

最佳答案

根据此页面:http://developer.android.com/tools/help/logcat.html

“-c”选项导致 logcat 退出

但是,此时,“kill”已经退出了 logcat。

建议修改脚本为:(以下未经测试)

#!bin/sh
while true 
do
 echo "Updating system log.."
 logcat -d > /data/system.log &
 sleep 600 
done

关于android - 初始化.rc : service killed and restarts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30841174/

相关文章:

android - 在编辑文本框中验证日期

java - setContentView 删除我的 Activity 中的其他组件

c - "undeclared"命令中的变量 "#pragma"?

bash - 如果特定列之后超过 60% 或更多的列包含相同的特定值,我该如何删除整行?

安卓可插入应用程序

java - 使用 SimpleXml 无法解析日期

c - 用 C 语言一般实现归并排序

将 void * 转换为数组

linux - 是否可以在嵌套的 heredoc 中进行变量替换?

linux - 为什么我必须在容器中使用 bash -l -c?