Проверить отпечаток ключа хоста в старом формате

Процесс инициализации, / sbin / init не является сценарием оболочки и не завершается (при нормальных условиях).
Из https://en.wikipedia.org/wiki/Init

В компьютерных операционных системах на базе Unix init (сокращение от инициализации) - это первый процесс, запускаемый во время загрузки компьютерная система. Init - это процесс-демон, который продолжает работать до завершения работы системы.
Он является прямым или косвенным предком всех других процессов и автоматически принимает все потерянные процессы.

Это первый процесс пользовательского пространства, являющийся ветвью ядра и командой exec после инициализации ядра. Вот почему он называется PID1 (идентификатор процесса 1).

В настоящее время существуют различные реализации процесса инициализации, например upstart или systemd, причем исходные реализации основаны на systemV init.

В основном все они при загрузке читают файлы конфигурации для каждого процесса, который является кандидатом на запуск. Традиционно эти файлы конфигурации находятся в / etc / init / . Если процесс отмечен для запуска, то процесс запускается или - если его конфигурация говорит «не запускать меня при загрузке», то он не запускается, но может быть запущен вручную позже.
Если процесс помечен для запуска, то, как правило, они должны быть запущены, так это то, что система инициализации выполнит сценарий оболочки, соответствующий демону в /etc/init.d / .

Некоторые из различий между новыми системами инициализации и исходной системой V init заключаются в том, что система V использует числовые уровни выполнения, 0,1,2 и т. Д. Для определения состояния системы, а systemd или выскочка используют именованные идентификаторы, такие как mulit- user.target .

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

например, для nginx существует файл конфигурации /lib/systemd/system/nginx.service , который определяет такие директивы запуска, как:

[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
TimeoutStopSec=5
KillMode=mixed

[Install]
WantedBy=multi-user.target

Вы можете включить его с помощью команды типа sudo systemctl enable nginx.service , это создаст символическую ссылку в

/etc/systemd/system/multi-user.target.wants/nginx.service

, указывающую на файл модуля в:

/lib/systemd/system/nginx.service

sudo systemctl disable nginx.service удалит символическую ссылку, и служба не будет запущена при запуске.

Новые системы инициализации обратно совместимы со сценариями инициализации systemV и будут читать конфигурации в / etc / init и запускать сценарии оболочки в /etc/init.d

2
13.04.2017, 15:36
0 ответов

Теги

Похожие вопросы