系统服务说明

rc文件解释

service <name><pathname> [ <argument> ]*
    <option>
    <option>
参数含义
name表示此服务的名称
pathname此服务所在路径因为是可执行文件,所以一定有存储路径。
argument启动服务所带的参数
option对此服务的约束选项

critical :设备关键服务,在4分钟内,服务重启4次,设备则重启进入还原模式

disabled:服务不会自动运行,必须显式通过服务器启动

setenv:设置环境变量

user:在执行此服务之前切换用户名

group:类似于user,切换组名

oneshot:当此服务退出时不会自动重启

class:给服务指定一个类属,方便同类服务同时启动或停止

onrestart:当服务重启时执行一条指令

frameworks/native/cmds/servicemanager/servicemanager.rc

service servicemanager /system/bin/servicemanager
    class core animation
    user system
    group system readproc
    critical
    onrestart restart healthd
    onrestart restart zygote
    onrestart restart audioserver
    onrestart restart media
    onrestart restart surfaceflinger
    onrestart restart inputflinger
    onrestart restart drm
    onrestart restart cameraserver
    onrestart restart keystore
    onrestart restart gatekeeperd
    writepid /dev/cpuset/system-background/tasks
    shutdown critical

服务管理器,在这些服务死掉会立马重启这些服务。

动作

on <trigger> 触发条件
   <command> 执行命令
   
格式含义
on early-init在初始化早期阶段触发
on init在初始化阶段触发
on late-init在初始化晚期阶段触发
on boot/charger当系统启动/充电时触发
on property当属性值满足条件时触发

servicemanager是通过init.rc on post-fs 启动

Action/Service描述
on early-init设置init进程以及它创建的子进程的优先级,设置init进程的安全环境
on init设置全局环境,为cpu accounting创建cgroup(资源控制)挂载点
on fs挂载mtd分区
on post-fs改变系统目录的访问权限
on post-fs-data改变/data目录以及它的子目录的访问权限
on boot基本网络的初始化,内存管理等等
service servicemanager启动系统管理器管理所有的本地服务,比如位置、音频、Shared preference等等…
service zygote启动zygote作为应用进程

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值