diff --git "a/readme/\345\220\257\345\212\250\346\201\242\345\244\215README.md" "b/readme/\345\220\257\345\212\250\346\201\242\345\244\215README.md" index 416512ff06479c5c9d35e5dceb2240899190e6db..02488ebc49dc13d0194db2fb3abe0b04d291afc2 100755 --- "a/readme/\345\220\257\345\212\250\346\201\242\345\244\215README.md" +++ "b/readme/\345\220\257\345\212\250\346\201\242\345\244\215README.md" @@ -147,7 +147,8 @@ init进程启动后首先读取/etc/init.cfg,然后解析其json内容,并 { "jobs" : [{ "name" : "pre-init", -------- 在init之前执行的job,可以放置一些启动进程之前的预操作(如新建文件夹等) - "cmds" : [ + "cmds" : [ -------- 当前job支持的命令集合(当前cmd仅支持start/mkdir/chmod/chown/mount) + -------- 命令名称和参数(长度<=128字节)之间有且只能有一个空格 "mkdir /testdir", -------- 创建文件夹命令,mkdir和目标文件夹之间有且只能有一个空格 "chmod 0700 /testdir", -------- 修改权限命令,chmod 权限 目标 之间间隔有且仅有一个空格,权限必须为0xxxx格式 "chown 99 99 /testdir",-------- 修改属组命令,chown uid gid 目标 之间间隔有且仅有一个空格 @@ -156,19 +157,19 @@ init进程启动后首先读取/etc/init.cfg,然后解析其json内容,并 -------- flags当前仅支持nodev、noexec、nosuid和 rdonly,各项均以一个空格分开 ] }, { - "name" : "init", -------- init进程支持的job名称,如扩展请确保job名称不超过32字节 - "cmds" : [ -------- 当前job支持的命令集合,命令名称(10字节以内)和后面参数(32字节以内)之间有且只能有一个空格 - "start service1", -------- 当前job的第一条命令 - "start service2" -------- 当前job的第二条命令(可以根据需要调整命令在数组中的顺序,init进程将根据解析顺序依次执行) + "name" : "init", -------- job名称当前仅支持识别“pre-init”、“init”和“post-init” + "cmds" : [ -------- 单个job目前最多支持30条cmd + "start service1", -------- 启动服务命令1 + "start service2" -------- 启动服务命令2(可以根据需要调整命令在数组中的顺序,init进程将根据解析顺序依次执行) ] }, { "name" : "post-init", -------- 在init之后执行的 job,可以放置一些启动进程之后的操作 "cmds" : [] } ], - "services" : [{ -------- service集合(数组形式),包含了init进程需要启动的所有系统服务 - "name" : "service1", -------- 当前服务的服务名,须确保非空且长度在32字节以内 - "path" : "/bin/process1" -------- 当前服务的可执行文件全路径,须确保非空且长度在64字节以内 + "services" : [{ -------- service集合(数组形式),包含了init进程需要启动的所有系统服务(当前最多支持100个服务) + "name" : "service1", -------- 当前服务的服务名,须确保非空且长度<=32字节 + "path" : "/bin/process1" -------- 当前服务的可执行文件全路径,须确保非空且长度<=64字节 "uid" : 1, -------- 当前服务进程的uid值 "gid" : 1, -------- 当前服务进程的gid值 "once" : 0, -------- 当前服务进程是否为一次性进程 @@ -177,7 +178,7 @@ init进程启动后首先读取/etc/init.cfg,然后解析其json内容,并 "importance" : 1, -------- 当前服务是否为关键系统进程 0 --- 当前服务非关键系统进程,当进程因任何原因退出时,init不会做系统复位操作 非0 --- 当前服务为关键系统进程,当进程因任何原因退出时,init收到SIGCHLD信号后进行系统复位重启 - "caps" : [0, 1, 2, 5] -------- 当前服务所需的capability值,根据安全子系统已支持的capability,评估所需的capability,遵循最小权限原则配置 + "caps" : [0, 1, 2, 5] -------- 当前服务所需的capability值,根据安全子系统已支持的capability,评估所需的capability,遵循最小权限原则配置(当前最多可配置100个值) }, { "name" : "service2", -------- 下一个需要init启动的服务。此处服务的顺序与启动顺序无关,启动顺序取决于上面job中的cmd顺序。 "path" : "/bin/process2",