Файл /etc/inittab читается сверху вниз?

Файл /etc/inittab читается сверху вниз?

Когда процесс init выполняется после загрузки ядра, считывает ли он файл /etc/inittab сверху вниз, т. е. выполняет каждую строку по мере ее появления в файле?

Если это так, то, исходя из прочитанного и понятого, означает ли это, что он переходит на документированный уровень выполнения, а затем запускает процесс sysinit или наоборот?

Например, вот типичные примеры, которые я видел:

id:3:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

решение1

Во-первых, обратите внимание, что формат inittabвыглядит следующим образом:

Identifier:RunLevel:Action:Command

Ключевым моментом здесь является runlevel. Приведем следующий пример кода:

a:3::
b:123::
c:23::
d:123::
e:23::

Тогда порядок выполнения различных идентификаторов, начиная с runlevel1, будет следующим:

init 1:  b d
init 2:  c e
init 3:  a
overall: b d c e a

Как вы можете видеть, он запустит их в том порядке, в котором они перечислены в файле.группа по уровню запуска! Также помните, если идентификатор не находится на указанном уровне выполнения, ему будет выдан а SIGTERMзатем SIGKILL.

решение2

Это не скрипт, который обрабатывается в каком-то определенном порядке. Это файл конфигурации, который сообщает системе, какой скрипт/команды запускать для определенного события или уровня запуска. Порядок записей в файле не имеет значения, и вы можете иметь несколько скриптов или команд для каждого уровня запуска.

Первая отображаемая строка "id:3:initdefault:" сообщает системе, что уровень выполнения по умолчанию - 3 => многопользовательский режим для большинства разновидностей.

Строка «si::sysinit:...» сообщает системе о необходимости запустить скрипт /etc/rc.d/rc/sysinit при инициализации системы (запускается при загрузке системы).

если вы используете inittab, вы должны получить список всех опций для файла.

Связанный контент