Ubuntu上的init有什么作用?


13

我已经知道这init是启动计算机和管理运行级别所需的神奇程序,但是它的真正目的是什么?

为什么我们init首先需要?引导加载程序为什么不能告诉Upstart要运行和不运行哪些程序?

该问题在(我的)最新答复中被删除后会发生什么init题。


init是所有过程的母亲。
ctrl-alt-delor 2014年

init作为用户进程编写功能要比在内核中编写功能容易。如果它是用内核编写的,那么有人会添加一个starter将在用户空间中运行的进程,这将更加灵活。从而复制了功能。因此,最好使内核部分尽可能简单。
ctrl-alt-delor 2014年

man init > "What does init on Ubuntu do"并在主文件夹中读取它
2014年

Answers:


6

请参见Unix系统上的手册init

这是来自Wikipedia条目init的帖子:

在基于Unix的计算机操作系统中,init(初始化的缩写)是在计算机系统启动期间启动的第一个进程。Init是一个守护进程,它将继续运行直到系统关闭。它是所有其他过程的直接或间接祖先,并自动采用所有孤立过程。初始化是由内核使用硬编码的文件名启动的,如果内核无法启动它,则会导致内核崩溃。通常为Init分配进程标识符1。

在Unix系统(例如System III和System V)中,init的设计与Research Unix的init及其BSD派生提供的功能有所不同。大多数Linux发行版的用法在某种程度上与System V兼容,但是某些发行版(例如Slackware)使用BSD风格,而其他发行版(例如Gentoo)则具有自己的自定义版本。

为了解决标准版本中的设计局限性,已经编写了几种替代的初始化实现。其中包括已启动的服务管理工具,systemd和Upstart,后者已由Ubuntu和其他一些Linux发行版使用。

希望这有助于向您解释;很多阅读。


3

upstart并且systemdinit系统。按照惯例(也许还有其他的限制),该方案仍称init,无论是否systemd还是upstart其他的东西或者是在作怪。不要让进程名称欺骗您。PID1 init不再是SysV 。在Ubuntu上已经有一段时间了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.