init是内核启动的第一个用户级进程
上图是内核启动过程,函数在kernel/init/main.c中
在这里提个问题,为什么PPID=1的进程无法真正终止,kill后还会重新启动?
看下init进程的4大功能就明白了。
上图显示init.rc文件大致分两部分:
1:"on"关键字开头的动作列表----->设置系统环境,创建目录,改变权限。
2:"service"关键字开头的服务列表----->创建守护进程。
下图为4大功能之二:“生成设备节点"流程图
下图为4大功能之三:"处理子进程终止"流程图
Tip:这就是为什么PPID=1的进程是无法真正终止,还会重新启动的原因。
ps,kill试一下。
下图为4大功能之四:"属性服务"流程图