init.rc语法介绍
1、init.rc是一个可配置的初始化文件,通常定制厂商可以配置额外的初始化配置,init.%PRODUCT%.rc
2、init.rc是在$GINGERBREAD/system/core/init/init.c中读取的,它基于“行”,包含一些用空格隔开的关键字(它属于特殊字符)
3、如果关键字中有空格,处理方法类似于C语言,使用/表示转义,使用“”防止关键字被断开,另外注意/在末尾表示换行
4、#开头的表示注释
5、init.rc包含4种状态类别:Actions/Commands/Services/Options
6、当声明一个service或者action的时候,它将隐式声明一个section,它之后跟随的command或者option都将属于这个section
7、action和service不能重名,否则忽略为error
8、actions就是在某种条件下触发一系列的命令,通常有一个trigger,形式如:
on <trigger>
<command>
<command>
9、service结构如下:
service <name> <pathname> [ <argument> ]*
<option>
<option>
10、option是service的修饰词,主要包括:
critical
表示如果服务在4分钟内存在多于4次,则系统重启到recovery mode
disabled
表示服务不会自动启动,需要手动调用名字启动
setEnv <name> <value>
设置启动环境变量
socket <name> <type> <permission> [<user> [<group>]]
开启一个unix域的socket,名字为/dev/socket/<name> , <type>只能是dgram或者stream,<user>和<group>默认为0
user <username>
表示将用户切换为<username>,用户名已经定义好了,只能是system/root
group <groupname>
表示将组切换为<groupname>
oneshot
表示这个service只启动一次
class <name>
指定一个要启动的类,这个类中如果有多个service,将会被同时启动。默认的class将会是“default”
onrestart
在重启时执行一条命令
11、trigger主要包括:
boot
当/init.conf加载完毕时
<name>=<value>
当<name>被设置为<value>时
device-added-<path>
设备<path>被添加时
device-removed-<path>
设备<path>被移除时
service-exited-<name>
服务<name>退出时
12、命令主要包括:
exec <path> [ <argument> ]*
执行一个<path>指定的程序
export <name> <value>
设置一个全局变量
ifup <interface>
使网络接口<interface>连接
import <filename>
引入其他的配置文件
hostname <name>
设置主机名
chdir <directory>
切换工作目录
chmod <octal-mode> <path>
设置访问权限
chown <owner> <group> <path>
设置用户和组
chroot <directory>
设置根目录
class_start <serviceclass>
启动类中的service
class_stop <serviceclass>
停止类中的service
domainname <name>
设置域名
insmod <path>
安装模块
mkdir <path> [mode] [owner] [group]
创建一个目录,并可以指定权限,用户和组
mount <type> <device> <dir> [ <mountoption> ]*
加载指定设备到目录下
<mountoption> 包括"ro", "rw", "remount", "noatime"
setprop <name> <value>
设置系统属性
setrlimit <resource> <cur> <max>
设置资源访问权限
start <service>
开启服务
stop <service>
停止服务
symlink <target> <path>
创建一个动态链接
sysclktz <mins_west_of_gmt>
设置系统时钟
trigger <event>
触发事件
write <path> <string> [ <string> ]*
向<path>路径的文件写入多个<string>
init.rc语法介绍的更多相关文章
- android init.rc语法
转自:http://www.cnblogs.com/nokiaguy/p/3164799.html init.rc由如下4部分组成. 动作(Actions) 命令(Commands) 3. 服务(Se ...
- Android系统init进程启动及init.rc全解析
转:https://blog.csdn.net/zhonglunshun/article/details/78615980 服务启动机制system/core/init/init.c文件main函数中 ...
- Android init.rc文件格式解析
/***************************************************************************** * Android init.rc文件格式 ...
- Android的init过程(二):初始化语言(init.rc)解析
Android的init过程(一) 本文使用的软件版本 Android:4.2.2 Linux内核:3.1.10 在上一篇文章中介绍了init的初始化第一阶段,也就是处理各种属性.在本文将会详细分析i ...
- Android的init过程(二):初始化语言(init.rc)解析【转】
转自:http://www.cnblogs.com/nokiaguy/p/3164799.html Android的init过程(一) 本文使用的软件版本 Android:4.2.2 Linux内核: ...
- i.mx6 Android5.1.1 初始化流程之init.rc解析(未完成)
接上一篇:i.mx6 Android5.1.1 初始化流程之init进程 参考资料:http://blog.csdn.net/mr_raptor/article/category/799879 这个博 ...
- Swift翻译之-Swift语法入门 Swift语法介绍
目录[-] Hello world - Swift 简单赋值 控制流 函数与闭包 对象和类 枚举与结构 协议和扩展 泛型 2014.6.3日,苹果公布最新编程语言Swift,Swift是一种新的编程语 ...
- Android init.rc解析【转】
转自:http://www.linuxidc.com/Linux/2014-10/108438.htm 本文主要来自$Android_SOURCE/system/init/readme.txt的翻译. ...
- init进程 && 解析Android启动脚本init.rc && 修改它使不启动android && init.rc中启动一个sh文件
Android启动后,系统执行的第一个进程是一个名称为init 的可执行程序.提供了以下的功能:设备管理.解析启动脚本.执行基本的功能.启动各种服务.代码的路径:system/core/init,编译 ...
随机推荐
- Java&&As3.0 中的final 关键字
Java和AS3.0关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. 可以修饰的对象: fin ...
- cpu、内存、缓存、硬盘使用率
1.cpu ./bunsan2.sh uptime < servers.txt | awk '{print $11 }' |sed 's/,//g' #!/bin/bash cpu_load=$ ...
- 12.04 ubuntu 进入登录界面,账号密码确定是正确的但是进不来系统。
很简单,HOME目录存储太多东西了,导致开机不了.
- IIS express 7.5 设置默认文档
在C:\Users\[电脑用户名]\Documents\IISExpress\config 下面有个applicationhost.config文件,打开文件找到<system.webServe ...
- ANT 操控 ORACLE数据库实践
Ant 执行系统命令没有任何问题,这次实际系统命令中可以说遇到了两个问题,一个是启动服务的命令是含有空格的,第二个如何备份数据库可以自动加上日期. 首先,我们启动oracle数据库,操作有两个: 1. ...
- JS day01——window对象、执行顺序、线程模型
1.window对象 window对象表示当前浏览器的窗口,它是一个顶级对象,我们创建的所有对象.函数.变量都是window对象的成员. window对象自带了一些非常有用的方法.属性. window ...
- Android OpenGL ES(十四)gl10方法解析
Android 支持 OpenGL 列表 1.GL 2.GL 10 3.GL 10 EXT 4.GL 11 5.GL 11 EXT 6.GL 11 ExtensionPack 我们将使用 GL10 这 ...
- linux的学习系列 5--环境变量
在Linux中,环境变量是一个很重要的概念.环境变量可以由系统.用户.Shell以及其他程序来设定. 变量就是一个可以被赋值的字符串,赋值范围包括数字.文本.文件名.设备以及其他类型的数据. 下面的例 ...
- java 环境的配置
JAVA_HOMEC:\Program Files\Java\jdk1.6.0_02 PATHC:\Program Files\Java\jdk1.6.0_02\bin CLASSPATH.;%JAV ...
- 如何删除tomcat下的一目
不知道我有没有把问题想简单了,是不是应该把webapps下对应的文件夹删了就可以了. work下面对应的也删掉 这个取决于你在tomcat下发布那个项目的方式. 首先是工程的根目录要删除,然后是工程相 ...