![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
init
文章平均质量分 93
pecuyu
学不可以已。积跬步,以至千里。
展开
-
Android 12 init(6) Subcontext进程工作过程分析
在init启动过程中,会启动一个subcontext进程,通常与init有着不一样的 secontext 以及 mount namespace。该进程用来接收来自init的命令,用来执行某些操作,这些操作是在 subcontext 的secontext 和 mount namespace 下进行。通过ps命令看看init及subcontext进程信息。原创 2022-12-17 21:14:43 · 1497 阅读 · 1 评论 -
Android 12 init(5) start&stop命令流程分析
通常,在开发过程中,需要push一些修改到系统分区,之后需要重启系统使修改生效。不过,执行stop、start命令需要root权限,这点需要注意。接下来分析这两个命令的执行流程。执行start/stop程序,它的本体实际上是toolbox。执行命令可以指定特定服务,表示要启动、停止对应服务start/stop通过设置控制属性 ctl.start、ctl.stop 来启动、停止服务init 处理 ctl.start、ctl.stop属性事件,执行启动、停止服务的操作。原创 2022-12-15 23:59:00 · 1658 阅读 · 1 评论 -
Android 12 init(4) 子进程回收与服务重启分析
在init运行过程中,不可避免的会出现子进程或服务退出,需要做一些针对性处理:在init中通过监听信号 SIGCHLD,来获取子进程终止事件,然后做一些针对性动作。初始化信号处理器,注册子进程终止的监听UnblockSignals在子进程执行该函数,即子进程默认是不阻塞这些信号的。当epoll监听到signal_fd有事件到来,即产生了相关信号,则会回调HandleSignalFd来处理处理 SIGCHLD 会调用ReapAnyOutstandingChildren,它实现了所有终止子进程的回收R原创 2022-12-11 23:51:27 · 1484 阅读 · 0 评论 -
Android 12 init(3) 属性服务
在 init 的启动第二阶段,启动属性服务线程,提供相关属性服务,给其他进程提供设置属性的支持,并通知init去处理属性事件。PropertyInitCreateSerializedPropertyInfo从相关property_contexts文件读取到context信息,并将内容序列化,然后写入 /dev/properties/property_infoPropertyInfoEntry 定义如下,它用来存储解析后的context信息查看 /system/etc/selinux/plat_p原创 2022-11-30 23:32:04 · 1260 阅读 · 0 评论 -
Android 12 init(2) rc脚本解析和事件执行流程
文章托管在gitee上, 同步csdn本文基于Android12 分析在init启动的SecondStage,通过调用LoadBootScripts来解析启动脚本,也就是rc文件。下面来研究这个解析过程,之后再看看init如何处理事件并执行相关action的。原创 2022-11-29 23:17:00 · 1612 阅读 · 0 评论 -
Android 12 init(1) 启动流程分析
init是 Android 启动的第一个用户空间进程,它的地位非常重要,它fork产生系统的一些关键进程(如zygote,surfaceflinger进程),而zygote进一步fork产生system_server和其他应用进程,通过这套逻辑构建了Android的进程层次结构体系。init进程的功能包含但不限于以下:通过ps命令看看init进程信息在启动内核的start_kernel函数流程中,会调用run_init_process函数执行init程序,来启动init进程在Android中执行的init原创 2022-11-29 23:06:21 · 2679 阅读 · 0 评论