Уровни выполнения
По окончании процесса загрузки программа init выполняет все стартовые скрипты в каталоге, определяемым уровнем выполенения по умолчанию (это уровень выполнения задается элементом id в файле /etc/inittab). Как и большинство System V - совместимых Unix-систем, Линукс имеет 7 уровней выполнения:
0 (останов системы),
1 (однопользовательский режим),
2 - 5 (различные многопользовательские режимы), и
6 (перезагрузка системы).
Системы Debian идут с id=2, который показывает, что при входе в многопользовательский режим уровень выполнения по умолчанию - второй, и поэтому требуется выполнить скрипты из каталога /etc/rc2.d/.
Скрипты в любом из каталогов /etc/rcN.d/, по сути, являются символическими ссылками на скрипты из каталога /etc/init.d/. Однако, сами имена файлов в каждом /etc/rcN.d/ каталоге определяют способ, которым будут запущены скрипты из /etc/init.d/. Конкретнее, перед входом в любой уровень исполнения сначала запускаются все скрипты, начинающиеся с буквы `K'; данные скрипты останавливают сервисы. Далее выполняются все скрипты, начинающиеся в буквы `S'; эти скрипты запускают сервисы. Двузначное число после буквы `K' или `S' показывает порядок, в котором выполняются скрипты. Скрипты с меньшим номером выполняются первыми.
Это способ работает, так как все скрипты из каталога /etc/init.d/
принимают аргумент с одним из возможных значений "start", "stop", "reload", "restart" или "force-reload", и выполняют задачу, соответствующую значению данного аргумента. Эти скрипты могут также использоваться после загрузки системы для управления различными процессами.
Например, следующая команда с аргументом "reload"
# /etc/init.d/sendmail reload
посылает демону sendmail сигнал, побуждающий его перечитать конфигурационный файл.