Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Описание файла /etc/inittab.





Файл /etc/inittab содержит сценарий для исполнения программой init роли главного диспетчера процессов. Самым заметным из диспетчеризуемых является процесс инициализации терминальных линий /etc/getty. Другие примеры - демоны и shell. Файл inittab состоит из строк, имеющих следующий формат (важен и порядок строк):

имя: уровень_выполнения: действие: процесс.

Каждая строка оканчивается символом перевода строки, однако его экранирование посредством символа \ позволяет иметь строки продолжения. В любом случае длина строки не должна первышать 512 символов. В поле процесс могут быть включены комментарии согласно правилам shell'а. На количество строк в файле inittab не наложено никаких ограничений.

Поля строк имеют следующий смысл:

Имя

Имя, состоящее из одного или двух символов, должно однозначно идентифицировать строку.

Уровень_выполнения

Это поле определяет уровень выполнения, при котором строка будет обрабатываться. Каждому процессу, запущенному init'ом, присваивается уровень или уровни выполнения, при которых тот может существовать. Например, если система находится на уровне 1, то будут обработаны только строки, содержащие единицу в поле уровень_выполнения. Можно указать несколько допустимых уровней выполнения, если задать ряд цифр из диапазона от 0 до 6. Если уровень_выполнения вообще не указан, то считается, что процесс может выполняться на любом уровне. Существует также три дополнительных значения, a, b и c, которые могут быть указаны в данном поле, хотя они и не являются реальными уровнями выполнения. Строки с такими значениями уровня выполняются только по запросу процесса telinit независимо от текущего уровня выполнения. Кроме того, подобные процессы не уничтожаются при смене уровня выполнения. Уничтожаются они, только если соответствующие им строки содержат значение off в поле действие, если эти строки удаляются из файла /etc/inittab, или если init переходит в однопользовательский режим.

Действие

Ключевое слово в поле действие определяет дисциплину обработки процесса, указанного в данной строке. Программа init распознает следующие действия:

respawn

Если процесс не существует, то запустить его, не ждать завершения (продолжать просмотр файла inittab), после завершения процесса перезапустить его. Если процесс уже существует, ничего не делать и продолжать просмотр файла inittab.

wait

При переходе на уровень_выполнения, совпадающий с указанным в строке, запустить процесс и ожидать его завершения. При всех последующих просмотрах файла inittab на том же уровне выполнения игнорировать строку.

once

При переходе на уровень_выполнения, совпадающий с указанным в строке, запустить процесс и не ожидать его завершения. Когда процесс завершится, не перезапускать его. Если уровень будет изменен в момент, когда программа еще выполняется из-за предыдущей смены уровня выполнения, то она не перезапускается.

boot

Эта строка будет обработана только один раз во время чтения init'ом файла inittab при начальной загрузке системы. Программа init запускает процесс и не ожидает его завершения. Когда процесс завершится, он не перезапускается. Чтобы это действие выполнялось, поле уровень_выполнения должно быть пустым или соответствовать уровню выполнения процесса init во время загрузки системы. Спецификацией boot помечают функции инициализации, следующие за аппаратной загрузкой системы.

bootwait

Эта строка будет обработана один раз при переходе init из однопользовательского режима в многопользовательский после загрузки системы. Программа init запускает процесс, дожидается его завершения и после этого не перезапускает процесс.

powerfail

Выполнять указанный в строке процесс только при получении init'ом сигнала об ошибке питания SIGPWR.

powerwait

Выполнять указанный в строке процесс только при получении init'ом сигнала об ошибке питания SIGPWR и продолжать обработку файла inittab лишь после завершения процесса.

off

Если процесс, ассоциированный с данной строкой, выполняется, ему посылается предупреждающий сигнал SIGTERM и дается 20 секунд на завершение, после чего он принудительно терминируется сигналом SIGKILL. Если процесс не существует, строка игнорируется.

ondemand

Это действие является синонимом respawn, но используется только со значениями a, b и c в поле уровень_выполнения.

initdefault

Строка, в которой указано это действие, используется только при первом обращении к процессу init. Она определяет уровень выполнения, устанавливаемый первоначально: выбирается максимальная из цифр, указанных в поле уровень_выполнения. Если поле уровня пусто, оно рассматривается как содержащее 0123456 и, следовательно, устанавливается уровень выполнения 6. Если в файле /etc/inittab нет строки с действием initdefault, то начальное значение уровня выполнения запрашивается у пользователя в момент загрузки системы.

sysinit

Строки этого типа выполняются перед тем, как init попытается получить доступ к консоли (то есть перед выводом приглашения console login:). Обычно подобные строки используются только для инициализации устройств, с которых init может попытаться запросить уровень выполнения. Команды из этих строк выполняются с ожиданием завершения.

Процесс

Это команда shell'а, которую нужно выполнить. Перед содержимым поля вставляется exec и передается shell'у в виде:

sh -c 'exec процесс'

Тем самым в поле процесс может стоять любая конструкция, синтаксически корректная с точки зрения shell'а. Чтобы употребить комментарий, нужно воспользоваться записью;#комментарий.







Date: 2016-08-30; view: 406; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию