【on property:init.svc.xxx=xxx】Android监测进程的运行状态

最近在Android 9.0平台上遇到锁屏界面解不了锁,抓logcat发现keymaster有发生过crash而重启过。问题在于不是keymaster现在不能用而是keystore不能用。为了测试,进入adb mode,主动kill keymaster进程,发现此时keystore再也不能用了。对比Android 8.0发现,不管我怎么把keymaster kill,keystore仍然可用。这样一来,在Android 9.0上keystore服务进程必须在keymaster服务进程后面进行初始化,即当keymaster服务进程重启了,keystore服务进程也需要重启。

device/qcom/{$PLATFORM}/init.target.rc添加如下代码(此方法可以防止偶现keymaster发生重启导致keystore不能用的问题,但不能解决keymaster总发现异常的问题,且暂不知道会不会有其他影响,记录的目的是在某种情况下可以通过此方式来监测服务进程的运行状态):

#keystore和vendor.keymaster分别是对应服务的名字
#keystore服务定义来自system/security/keystor.rc文件
service keystore /system/bin/keystore /data/misc/keystore
    class main
    user keystore
    group keystore drmrpc readproc log
    writepid /dev/cpuset/foreground/tasks

on property:init.svc.vendor.keymaster-3-0=running
   stop keystore
   start keystore

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值