【Linux学习笔记】38:有关Linux进程家族树

来源:互联网 发布:2016全明星数据 编辑:程序博客网 时间:2024/05/22 13:30

(昨天操作系统研讨的内容,留存一下)
欢迎有需要的朋友点这里下载完整PPT
init进程是Linux进程树的根,也就是PID=1的进程。是由开机启动后kernel直接启动的进程。图中的这些进程都是常驻在系统中的进程,称为服务。
这里写图片描述

进程通过fork&exec的方式来产生子进程。而那些服务也就是由init进程来启动,从而形成基本的进程家族树。
这里写图片描述

服务实体放在/etc/init.d/目录下。但是init进程没法直接在这里启动所有的服务,因为它不知道哪些要启动哪些不要。
这里写图片描述

而是要到/etc/rc.d/这个目录下,这下面有7个rcN.d的目录,分别表示Linux的7种运行级别。
这里写图片描述

这7种运行级别如下。
这里写图片描述

所以开机后,init进程要先知道运行级别是多少,这要到/etc/inittab文件里去查,这里运行级别就是3。
这里写图片描述

然后就会到对应的/etc/rc.d/rcN.d/目录下去(N是运行级别),这里有很多软链接文件,分别指向那些服务实体。对于K开头的文件,将终止对应的服务,对于S开头的文件将启动对应的服务。
这里写图片描述

总结一下。
这里写图片描述

当然也可以用setup工具选择要自动开启的服务。
这里写图片描述