28.4. Переходим к уровням выполнения
28.4. Переходим к уровням выполнения
Одной из последних задач процесса init, которая реализуется перед тем, как система "полностью запустится", является выполнение всех сценариев для уровня выполнения, заданного по умолчанию. Файл, осуществляющий эту задачу, называется либо /etc/rc.d/rc, либо /etc/rc.init. Роль этого сценария заключается в первоначальном уничтожении процессов для этого уровня, а затем — в установке процессов данного уровня.
Как процесс определяет, какие службы запускаются или прекращают выполнение? Файл rc или rc.init выполняет функции цикла for при обработке каждого сценария rc.script. Каждый сценарий rc.script запускается в каталоге rc3.d с помощью опции K, и ему передается параметр "stop". Затем аналогичный процесс поддерживается для всех сценариев rc.scripts, которые запускаются с помощью опции s, и им передаются параметры "start". Конечно, подобный процесс поддерживается при обращении к измененному уровню выполнения. Но, в отличие от каталога rc3.d, в данном случае обрабатывается каталог rcN.d, благодаря чему изменяется уровень выполнения N.
Сценарии, находящиеся в каталоге rcN.d, представляют собой только ссылки — фактические сценарии вызываются в другом месте. Эти сценарии располагаются в каталоге под названием /usr/sbin/init.d или /etc/init.d.
В Linux…
/etc/rc.d/init.d
В этом каталоге хранятся несколько сценариев, которые могут запускать иди прекращать функционирование служб. Имена этих сценариев формируются по системе rc.<что он делает>, где rc означает run command или run control. Некоторые системные администраторы называют эти сценарии "реально критическими" (really crucial). Ниже приводится листинг подобного файла.
$ ls
rc.localfs rc.halt rc.reboot rc.syslogd rc.daemon
Общий формат вызова сценариев rc.scripts будет следующим:
rename stop -oстанов службы rc.name start — запуск службы
Необязательными вызовами являются вызовы перезапуска и состояния. Любой другой вызов появляется в ответ на сообщение о применении, в котором содержится методика вызова сценария rc.script. Следует отметить, что эти сценарии можно вызывать вручную.
Итак, вы уже изучили, какие функции выполняет сценарий при вызове. Следующий этап — помещение сценариев в соответствующие каталоги rcN.d. Но сначала рассмотрим систему уровней выполнения.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Очереди выполнения
Очереди выполнения Основная структура данных планировщика — это очередь выполнения (runqueue). Очередь выполнения определена в файле kernel/sched.c[21] в виде структуры struct runqueue. Она представляет собой список готовых к выполнению процессов для данного процессора.Для каждого
Задержка выполнения
Задержка выполнения Часто коду ядра (особенно драйверам) необходимо задерживать выполнение действий на некоторый период времени без использования таймеров или механизма нижних половин. Это обычно необходимо для того, чтобы дать аппаратному обеспечению время на
6.6 ПРИОСТАНОВКА ВЫПОЛНЕНИЯ
6.6 ПРИОСТАНОВКА ВЫПОЛНЕНИЯ К настоящему моменту мы рассмотрели все функции работы с внутренними структурами процесса, выполняющиеся на нижнем уровне взаимодействия с процессом и обеспечивающие переход в состояние «выполнения в режиме ядра» и выход из этого состояния в
8.1 ПЛАНИРОВАНИЕ ВЫПОЛНЕНИЯ ПРОЦЕССОВ
8.1 ПЛАНИРОВАНИЕ ВЫПОЛНЕНИЯ ПРОЦЕССОВ Планировщик процессов в системе UNIX принадлежит к общему классу планировщиков, работающих по принципу "карусели с многоуровневой обратной связью". В соответствии с этим принципом ядро предоставляет процессу ресурсы ЦП на квант
Управление уровнями выполнения
Управление уровнями выполнения В предыдущих разделах постоянно упоминались уровни выполнения, но из сказанного вряд ли стало ясно, что же они собой представляют. Говорилось лишь о том, что уровни выполнения и сценарии запуска SysV тесно связаны между собой. При загрузке
Полиморфизм на этапе выполнения
Полиморфизм на этапе выполнения Управление реализациями классов с использованием абстрактных базовых классов как интерфейсов открывает целый мир новых возможностей в терминах того, что может случиться на этапе выполнения. Напомним, что DLL FastString экспортирует только
15.6. Отладка времени выполнения
15.6. Отладка времени выполнения Каждый, кто занимается программированием больше одной недели, знает, что исправление синтаксических ошибок является простой частью отладки. За ней следует сложная часть, когда необходимо разобраться, почему поведение синтаксически
Общеязыковая среда выполнения
Общеязыковая среда выполнения В дополнение к спецификациям CTS и CLS, последней на данный момент аббревиатурой, которую мы рассмотрим, будет аббревиатура CLR (Common Language Runtime – общеязыковая среда выполнения). Для программирования термин среда, выполнения можно понимать, как
Инсталляция среды выполнения .NET
Инсталляция среды выполнения .NET Для вас не должно быть сюрпризом то, что компоновочные блоки .NET могут выполняться только на машине, на которой установлен каркас .NET Framework. Для вас, как для разработчика .NET-приложений, это не должно быть проблемой, поскольку ваша машина будет
2.1.6. Среда выполнения
2.1.6. Среда выполнения Операционная система Linux предоставляет каждой запущенной программе среду выполнения. Под средой подразумевается совокупность пар переменная-значение. Имена переменных среды и их значения являются строками. По существующему соглашению переменные
Обход по уровням
Обход по уровням Мы еще не рассматривали обход по уровням, при котором вначале посещается корневой узел, затем слева направо посещаются два возможных узла на первом уровне, затем слева направо четыре возможных узла на втором уровне и т.д. Этот метод обхода кажется слишком
Приоритет и порядок выполнения
Приоритет и порядок выполнения Приоритет и ассоциативность операций языка Си влияют на порядок группирования операндов и вычисления операций в выражении. Приоритет операций существен только при наличии нескольких операций, имеющих различный приоритет. Выражения с
1.2.1. Порядок выполнения инструкций
1.2.1. Порядок выполнения инструкций По умолчанию инструкции программы выполняются одна за другой, последовательно. В программеint main(){readIn();sort();compact();print();return 0;}первой будет выполнена инструкция readIn(), за ней sort(), compact() и наконец print().Однако представим себе ситуацию, когда
Процесс выполнения транзакции
Процесс выполнения транзакции К настоящему моменту у вас уже должно быть чувство уверенности по поводу вида операций многопользовательской системы, как серии атомарных задач, изолированных в транзакциях. Задачи будут выполнены, когда клиенты запускают транзакции и
Задержка выполнения
Задержка выполнения Задержка выполнения OnChange (Delphi 2) В случае нажатия пользователем клавиши или изменении текущего элемента компонента ComboBox, вы обратите внимание на досадную задержку, возникающую при генерации события OnChange.Так как "работа кипит", я хотел бы