init.rc语法
来源:互联网 发布:淘宝管控记录怎么销 编辑:程序博客网 时间:2024/05/29 13:22
概述
一个完整的init.rc脚本是由四种类型组成的。即:
- Action
- Commands
- Services
- Options
Action
格式
格式如下:
on < Trigger > ## 触发条件
< Command1>
< Command2>
一旦 Trigger被触发,就会执行Command1,Command2.(且Trigger的名字是唯一的,重复则会报错)
init.rc常见的触发器(Trigger)
- boot #这是init程序启动后触发的第一个条件
- < Name> = < Value> # 当某个属性的值为Value时
- device -added < path> # 当某个设备节点被添加
- device -removed < path> # 当某个设备节点被移除
- service -exited < name> # 当名字为name的服务存在时,触发
init.rc常见的命令
- export < name> < value> # 设置环境变量,作用于全局
- mkdir < path> [mode] [ owner] [group]
- mount < type> < device> < dir> [< mountOption>] 尝试在制定路径下挂载一个设备
- write < path> < value> 打开文件,并写入值
Services (服务)
Services 其实是可执行程序,它们在特定选项约束下会被init程序运行或者重启。
格式一般如下:
service < name> < pathName> [< arguments>] < options>name: service 的名称pathName:service所在路径argument:启动service option:对service的约束条件。
常见的option
* critical 至关重要的服务* disabled,此服务不会自动启动,需要显式调用* setenv< name> < value> 设置环境变量name为value值 * socket < name> < type> < perm> [< user> < group>] 创建一个名为name的unix domain socket, type表示类型:dgram,stream 或者 seqpacket* user< username>* group< groupname>* oneshot 当服务退出后,不要去重启它 * class < name> 为服务指定class名,同一个class的服务需要同时启动或停止 * onrestart 当服务重启时,执行某些命令
总结
对于action来说,它是当trigger发生时执行某些命令;而对于service来说,它是总是发生的,然后去执行pathName下的可执行文件
分析init.rc 文件
on boot ## boot事件 export PATH /sbin:/system/sbin:/system/bin ##设置系统的全局环境变量 export LD_LIBRARY_PATH /system/lib # 相应boot事件,设置库的路径 mkdir /dev mkdir /proc # 分别创建dev目录、proc目录 mkdir /system mount tmpfs tmpfs /dev mkdir /dev/pts mkdir /dev/socket mount devpts devpts /dev/pts mount proc proc /proc mount sysfs sysfs /sys write /proc/cpu/alignment 4 #打开文件并写入值 ifup lo #建立lo网络连接 ......service adbd /sbin/adbd # 启动adbd进程 user adbd group adbdService .....service zygote /system/bin/app_process -Xzygote /system/bin --zygotesocket zygote 666 # 启动zygote服务。on device-added- /dev/compass start akmdon device-removed-/dev/compass stop akmd # 当移除dev/compass节点后,停止akmdservice akmd /sbin/akmd disabled #只能显示调用起来 user akmd group akmd #
阅读全文
0 0
- init.rc 相关语法
- init.rc语法
- android init.rc语法
- init.rc语法
- init.rc语法介绍
- init.rc语法
- init.rc语法
- init.rc语法介绍
- init.rc语法介绍
- init.rc语法详解
- init.rc语法介绍
- init.rc语法
- init.rc 脚本语法学习
- android init.rc语法标准 .
- android init.rc语法标准
- android init.rc语法标准
- android init.rc语法标准
- Android init.rc语法详解
- 高盛报告:2025年影响汽车的四大因素和七大趋势
- 成绩值得骄傲,但“同志仍需努力”——外国人眼中的世界第一超算“神威太湖之光”
- 编辑距离问题——动态规划
- R9持续热销 助力OPPO引领国产手机市场份额增长
- centos7+apache2.4+python3.6+django1.11
- init.rc语法
- 万兴科技豪掷千万投资VOC “锁”定物联网家居安全
- Linux应用编程基础--(7)多线程编程
- 【欧拉筛+主席树】CodeChef PRMQ Chef and Prime Queries
- 马氏距离
- View的绘制流程
- php 基于redis计数器类
- 分享|沃尔沃是如何做智能驾驶技术解决方案的?
- 机器人大赛招募|他们喊你去韩国大田参加顶级IROS大会