Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
ddeeb6d0
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ddeeb6d0
编写于
3月 11, 2022
作者:
X
xlei1030
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update Signed-off-by: xionglei <xionglei6@huawei.com>
Signed-off-by:
N
xlei1030
<
xionglei6@huawei.com
>
上级
5c20bccb
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
16 deletion
+16
-16
zh-cn/device-dev/subsystems/subsys-boot-init.md
zh-cn/device-dev/subsystems/subsys-boot-init.md
+16
-16
未找到文件。
zh-cn/device-dev/subsystems/subsys-boot-init.md
浏览文件 @
ddeeb6d0
...
...
@@ -2,11 +2,11 @@
-
[
功能说明
](
#section56901555916
)
-
[
init启动引导的配置文件
](
#section56901555917
)
-
[
init服务启动控制(仅
L2
以上提供)
](
#section56901555918
)
-
[
init服务并行控制(仅
L2
以上提供)
](
#section56901555919
)
-
[
init 按需启动(仅
L2
以上提供)
](
#section56901555920
)
-
[
init服务启动控制(仅
标准系统
以上提供)
](
#section56901555918
)
-
[
init服务并行控制(仅
标准系统
以上提供)
](
#section56901555919
)
-
[
init 按需启动(仅
标准系统
以上提供)
](
#section56901555920
)
-
[
init 进程启动&回收能力增强
](
#section56901555921
)
-
[
init FD代持(仅
L2
以上提供)
](
#section56901555922
)
-
[
init FD代持(仅
标准系统
以上提供)
](
#section56901555922
)
-
[
init job
](
#section56901555923
)
-
[
开发指导
](
#section56901555924
)
-
[
开发实例
](
#section56901555925
)
...
...
@@ -27,7 +27,7 @@
各模块需要添加关键服务时,也可以添加模块对应的cfg文件,编译时拷贝文件到/system/etc/init目录下,init进程会解析改cfg文件,并启动对应的服务。
-
init服务启动控制(仅
L2
以上提供)
<a
name=
"section56901555918"
></a>
-
init服务启动控制(仅
标准系统
以上提供)
<a
name=
"section56901555918"
></a>
init会根据用户的服务配置,把服务分成三类,在不同的阶段进行启动。
...
...
@@ -35,7 +35,7 @@
-
“normal”类型:默认配置,对应系统中的普通服务,这类服务在init命令执行完成后启动。
-
"condition"类型:对应有特殊要求的服务,可以直接通过start xxx 命令执行启动,一般在条件job或者在init的某个阶段使用命令启动。
-
init服务并行控制(仅
L2
以上提供)
<a
name=
"section56901555919"
></a>
-
init服务并行控制(仅
标准系统
以上提供)
<a
name=
"section56901555919"
></a>
init提供服务并行处理能力,启动服务在不同的阶段执行job的能力。
...
...
@@ -43,7 +43,7 @@
-
“on-stop”:在服务停止时执行。
-
"on-restart":在服务重启时执行。
-
init 按需启动(仅
L2
以上提供)
<a
name=
"section56901555920"
></a>
-
init 按需启动(仅
标准系统
以上提供)
<a
name=
"section56901555920"
></a>
由init管理的服务支持按需启动,按需启动的服务不会在系统启动过程中主动被拉起,而是当某些事件发生时才会被init按需拉起,触发服务启动的事件可能是被init监听的相关socket有消息上报、samgr收到客户端的请求需要拉起SA服务等情况。
...
...
@@ -67,16 +67,16 @@
-
init提供修改
*
.cfg配置文件, 为服务进程提供cpu绑核功能
-
init提供修改
*
.cfg配置文件, 为服务进程提供优先级设置
-
init提供修改
*
.cfg配置文件, 为服务提供设置AccessToken, 为系统服务进程设置其分布式Capability能力(仅
L2
以上提供)。
-
init提供修改
*
.cfg配置文件, 为服务提供设置AccessToken, 为系统服务进程设置其分布式Capability能力(仅
标准系统
以上提供)。
-
init提供修改
*
.cfg配置文件, 为服务提供抑制机制。
-
init FD代持(仅
L2
以上提供)
<a
name=
"section56901555922"
></a>
-
init FD代持(仅
标准系统
以上提供)
<a
name=
"section56901555922"
></a>
FD代持是按需启动的一个辅助扩展机制,按需启动进程可以保持退出前的fd状态句柄不丢失。按需启动进程退出前可将fd发送给init代持,再次启动后再从init获取fd。
init提供了相关接口供服务调用,服务进程退出前调用接口将fd通过支持IPC通信的socket发送给init代持,待该服务重新启动时,init将持有的该服务相关的fd句柄通过同样的方式返回给服务。
-
init job
<a
name=
"section5690155592
1
3"
></a>
-
init job
<a
name=
"section56901555923"
></a>
init提供job能力,一个job就是一组命令的集合。job可以在init.cfg中配置,也可以在模块的自定义cfg中配置。init解析程序会把相同名字job的命令合并到一个job中。同一名字的job只能保证init.cfg中的命令优先执行,其他cfg间的命令执行顺序不保证。
...
...
@@ -84,7 +84,7 @@
-
自定义job:用户自定义的job,这类job按照一定的规则进行触发。
-
job:用户任意定义,可以通过trigger命令执行。
-
控制job(仅
L2
以上提供):按条件触发处理的能力。在job中可以设置触发条件,当对应的属性值满足设置的条件时,就会触发job执行。触发条件支持&&和||操作,可以根据不同的属性就行组合。
-
控制job(仅
标准系统
以上提供):按条件触发处理的能力。在job中可以设置触发条件,当对应的属性值满足设置的条件时,就会触发job执行。触发条件支持&&和||操作,可以根据不同的属性就行组合。
## 开发指导<a name="section56901555924"></a>
...
...
@@ -292,7 +292,7 @@
</tr>
<tr
id=
"row1689310618179"
><td
class=
"cellrowborder"
valign=
"top"
width=
"16.64%"
headers=
"mcps1.2.3.1.1 "
><p
id=
"p108931367177"
><a
name=
"p108931367177"
></a><a
name=
"p108931367177"
></a>
critical
</p>
</td>
<td
class=
"cellrowborder"
valign=
"top"
width=
"83.36%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"p489313618173"
><a
name=
"p489313618173"
></a><a
name=
"p489313618173"
></a>
critical服务启动失败后, 需要M秒内重新拉起, 拉起失败N次后, 直接重启系统, N默认为4, M默认20。(仅
L2
以上提供 "critical" : [0, 2, 10]; 类型为int型数组)
<a
name=
"section56901555917"
></a><a
name=
"section56901555917"
></a></p>
<td
class=
"cellrowborder"
valign=
"top"
width=
"83.36%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"p489313618173"
><a
name=
"p489313618173"
></a><a
name=
"p489313618173"
></a>
critical服务启动失败后, 需要M秒内重新拉起, 拉起失败N次后, 直接重启系统, N默认为4, M默认20。(仅
标准系统
以上提供 "critical" : [0, 2, 10]; 类型为int型数组)
<a
name=
"section56901555917"
></a><a
name=
"section56901555917"
></a></p>
<p
id=
"p8572182712811"
><a
name=
"p8572182712811"
></a><a
name=
"p8572182712811"
></a>
0:不使能;
</p>
<p
id=
"p11861032111517"
><a
name=
"p11861032111517"
></a><a
name=
"p11861032111517"
></a>
1:使能。
</p>
</td>
...
...
@@ -306,23 +306,23 @@
</tr>
<tr
id=
"row1689310618179"
><td
class=
"cellrowborder"
valign=
"top"
width=
"16.64%"
headers=
"mcps1.2.3.1.1 "
><p
id=
"p108931367177"
><a
name=
"p108931367177"
></a><a
name=
"p108931367177"
></a>
d-caps
</p>
</td>
<td
class=
"cellrowborder"
valign=
"top"
width=
"83.36%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"p489313618173"
><a
name=
"p489313618173"
></a><a
name=
"p489313618173"
></a>
分布式能力 (仅
L2
以上提供)
<a
name=
"section56901555917"
></a><a
name=
"section56901555917"
></a></p>
<td
class=
"cellrowborder"
valign=
"top"
width=
"83.36%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"p489313618173"
><a
name=
"p489313618173"
></a><a
name=
"p489313618173"
></a>
分布式能力 (仅
标准系统
以上提供)
<a
name=
"section56901555917"
></a><a
name=
"section56901555917"
></a></p>
</td>
</tr>
</tr>
<tr
id=
"row1689310618179"
><td
class=
"cellrowborder"
valign=
"top"
width=
"16.64%"
headers=
"mcps1.2.3.1.1 "
><p
id=
"p108931367177"
><a
name=
"p108931367177"
></a><a
name=
"p108931367177"
></a>
apl
</p>
</td>
<td
class=
"cellrowborder"
valign=
"top"
width=
"83.36%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"p489313618173"
><a
name=
"p489313618173"
></a><a
name=
"p489313618173"
></a>
能力特权级别:system_core, normal, system_basic。 默认system_core (仅
L2
以上提供)
<a
name=
"section56901555917"
></a><a
name=
"section56901555917"
></a></p>
<td
class=
"cellrowborder"
valign=
"top"
width=
"83.36%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"p489313618173"
><a
name=
"p489313618173"
></a><a
name=
"p489313618173"
></a>
能力特权级别:system_core, normal, system_basic。 默认system_core (仅
标准系统
以上提供)
<a
name=
"section56901555917"
></a><a
name=
"section56901555917"
></a></p>
</td>
</tr>
<tr
id=
"row1689310618179"
><td
class=
"cellrowborder"
valign=
"top"
width=
"16.64%"
headers=
"mcps1.2.3.1.1 "
><p
id=
"p108931367177"
><a
name=
"p108931367177"
></a><a
name=
"p108931367177"
></a>
start-mode
</p>
</td>
<td
class=
"cellrowborder"
valign=
"top"
width=
"83.36%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"p489313618173"
><a
name=
"p489313618173"
></a><a
name=
"p489313618173"
></a>
服务的启动模式,具体描述:init服务启动控制(仅
L2
以上提供)
<a
name=
"section56901555917"
></a><a
name=
"section56901555917"
></a></p>
<td
class=
"cellrowborder"
valign=
"top"
width=
"83.36%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"p489313618173"
><a
name=
"p489313618173"
></a><a
name=
"p489313618173"
></a>
服务的启动模式,具体描述:init服务启动控制(仅
标准系统
以上提供)
<a
name=
"section56901555917"
></a><a
name=
"section56901555917"
></a></p>
</td>
</tr>
<tr
id=
"row1689310618179"
><td
class=
"cellrowborder"
valign=
"top"
width=
"16.64%"
headers=
"mcps1.2.3.1.1 "
><p
id=
"p108931367177"
><a
name=
"p108931367177"
></a><a
name=
"p108931367177"
></a>
jobs
</p>
</td>
<td
class=
"cellrowborder"
valign=
"top"
width=
"83.36%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"p489313618173"
><a
name=
"p489313618173"
></a><a
name=
"p489313618173"
></a>
当前服务在不同阶段可以执行的job。具体说明可以看:init服务并行控制(仅
L2
以上提供)
<a
name=
"section56901555917"
></a></p>
<td
class=
"cellrowborder"
valign=
"top"
width=
"83.36%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"p489313618173"
><a
name=
"p489313618173"
></a><a
name=
"p489313618173"
></a>
当前服务在不同阶段可以执行的job。具体说明可以看:init服务并行控制(仅
标准系统
以上提供)
<a
name=
"section56901555917"
></a></p>
</td>
</tr>
</tbody>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录