LINUX PID 1和SYSTEMD 专题

作者:佚名 上传时间:2019-05-14 版权申诉

Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2)

idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个没有通过fork或者kernel_thread产生的进程。


各个进程的主要职责:

* idle进程(PID = 0,swapper,也叫idle)由系统自动创建, 运行在内核态 ,创建了第一个用户进程(init进程(PID = 1) /sbin/init)和通过kernel_thread创建第一个内核进程kthreadd(PID = 2) 之后idle进程(PID = 0)进入idle状态,
当没有进程可以被调度的时候运行该进程,不做具体的事情。即 完成加载系统后,演变为进程调度、交换。

*init进程完成系统的初始化. 是系统中所有其它用户进程的祖先进程。主要作用是处理僵尸进程。当某个父进程比子进程提前消亡时,父进程会给子进程重新寻找“养父进程”,一般就是进程1,由进程1负责处理该子进程的消亡。
首先Linux内核启动,然后在用户空间中启动init进程,再启动其他系统进程。在系统启动完成完成后,init将变为守护进程监视系统其他进程。

*kthreadd进程由idle通过kernel_thread创建,并始终运行在内核空间, 负责所有内核线程的调度和管理
它的任务就是管理和调度其他内核线程kernel_thread, 会循环执行一个kthreadd的函数,该函数的作用就是运行kthread_create_list全局链表中维护的kthread, 当我们调用kernel_thread创建的内核线程会被加入到此链表中,因此所有的内核线程都是直接或者间接的以kthreadd为父进程

进程之间的关系:父子关系、兄弟关系
task_struct的 real_parent成员指向父进程,
parent成员指向“养父进程”;
children成员表示该进程的子进程链表;
sibling成员表示该进程的兄弟进程链表。

要说清

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
LINUX PID 1SYSTEMD 专题
Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程其pid=0,其前
Linux启动程序systemd
用户的空间的大致启动顺序如下: init 基础底层服务,如udevd(设备管理器),syslogd(日志管理) 网络配置 中高层服务,如cron(定时器) 登录提示符(getty)、GUI、mysql
DOCX
58KB
2020-11-19 14:52
Linux上运行Docker时遇到'System has not been booted with systemd as init system (PID 1
这个错误通常是由于系统未使用systemd作为初始化系统引起的。Docker要求系统使用systemd来管理进程,而不是其他初始化系统。要解决这个问题,您可以按照以下步骤操作:检查系统初始化系统:
Docker 20.10及以上
Docker
2023-12-03 15:55
Linux的init程序systemd.zip
systemd是一个init程序。根据之前 Upstart的一些介绍大家应该简要了解了传统Sysvinit系统的不足之处。不过,这次的systemd的设计思想更为超前,也可以说是借鉴了OSX上laun
ZIP
9.1MB
2020-07-16 13:01
PID专题讲座配套资料
其中包含PID的c语言控制算法,并告诉你如何调节PID中的参数。还有pid控制例程供参考。
ZIP
0B
2019-05-07 03:26
eos systemd container EOS systemd容器源码
为systemd预先构建的最小EOS容器
ZIP
2KB
2021-04-07 07:41
systemd源码
systemd的源码,下载解压运行configure脚本进行配置,可能会有些报错,请看报错信息解决,然后就可以编译了,编译后把编译出来的程序替当前linux系统的就好了
TAR
0B
2019-06-01 10:23
Systemd Service
Description: A unit configuration file whose name ends in ".service" encodes information about a pro
PDF
0B
2018-12-28 18:41
Fedora Linux Servers with Systemd3rd Edition
FedoraLinuxServerswithsystemd:thirdeditionBy作者:RichardPetersenISBN-10书号:1722128305ISBN-13书号:97817221
PDF
0B
2020-01-06 05:34
Linux为什么那么多人讨厌systemd
systemd在Linux社区引起了无限争议。一些Linux用户对systemd的反对绝不屈从,还有一些Linux用户对systemd喜爱有加,还有很多人满不在乎。近日,关于systemd的话题又出现
PDF
79KB
2021-01-16 03:35