Как операционная система знает, какой параметр передать в /etc/init.d/?

Я работал с Linux некоторое время, но довольно просто.

Я понимаю, что сценарии в init.d выполняются при запуске ОС, но как именно это работает?

Как ОС знает, какой параметр передать сценарию?

Для запуска apache я бы сделал sudo /etc/init.d/apache2 start. Если я запускаю sudo /etc/init.d/apache2, он не работает без запуска. Как ОС передает начало скрипту?

2 ответа

Решение

В зависимости от вашего дистрибутива и выпуска Linux, в конечном счете, скрипты sysvinit (эти скрипты в /etc/init.d/) обычно запускаются из символических ссылок, которые существуют в /etc/rc[0-6S].d, от /etc/init.d/rc,

Под Ubuntu вы либо используете старый стиль sysvinitили совсем недавно, upstart, В каталоге управления выскочкой (/etc/events.d/) вы найдете устаревший режим, который возвращается к /etc/init.d/rc призывание. Иначе, /etc/init.d/rc вызывается для каждого уровня запуска через /etc/inittab,

Если вы изучите логику /etc/init.d/rcвы найдете, что он определяет действия в зависимости от уровня запуска (0 & S безусловно остановлены) или префикс скрипта (S[0-9][0-9]* скрипты запускаются, K[0-9][0-9]* (убить) скрипты останавливаются). Нумерация скриптов в каталоге уровня запуска (например: /etc/rc1.d/) определяет порядок остановки или запуска скриптов. Сначала запускаются сценарии убийства, затем запускаются сценарии.

Подробнее об этом, исследования sysvinit и выскочки.

Я предлагаю вам прочитать некоторые учебные пособия о том, как работают уровни выполнения и сценарии инициализации - http://www.debian-administration.org/article/212/An_introduction_to_run-levels кажется вполне понятным.

Короче говоря, сценарии вызываются не напрямую, а через символические ссылки в каталогах /etc/rc.d, где n = уровень запуска. Имена символической ссылки имеют следующий формат:

[K | S] + nn + [string] 

где nn - число, обозначающее порядок запуска сценариев (сначала меньшие числа), а K или S определяет, следует ли запускать сценарий с параметром "stop" или "start".

Другие вопросы по тегам