本文使用AIL(Android Init Language)解释了Android初始化文件servicemanager.rc语句作用
本文源码基于Android Pie(9.0)
【此文件源码位置】
# 定义服务名为servicemanager,路径为/system/bin/servicemanager
service servicemanager /system/bin/servicemanager
# 为service设定类别为core、animation
class core animation
# 执行此服务前切换为system用户
user system
# 执行此服务前切换组名为system、readproc
group system readproc
# 表示这是一个关键设备服务.如果4分钟内此服务退出4次以上,那么这个设备将重启进入recovery模式
critical
# onrestart 当服务重启时执行该命令
# restart 重启制定服务,但不会禁用该服务
# 下面代码表示,在重启servicemanager时也要重启以下的众多服务
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
# 当fork进程时将子进程的pid写到/dev/cpuset/system-background/tasks
writepid /dev/cpuset/system-background/tasks
# 当shutdown超时时,此服务会被杀死;当shutdown启动时,如此服务未启动,则启动。
shutdown critical