我在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此服务在一个循环被杀死并重新启动后启动。
我在这里缺少什么?一些许可? 任何建议都有帮助。
答案 0 :(得分:0)
根据此页面: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
答案 1 :(得分:-2)
您可以尝试将oneshot标签添加到服务
service Storelog / system / bin / logwrapper /system/bin/store_log.sh
用户root
禁用
单稳