Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

INITTAB(4)

НАЗВАНИЕ
inittab - схема процесса init

ОПИСАНИЕ
Файл /etc/inittab содержит сценарий для исполнения программой init(1M) роли главного диспетчера процессов. Самым заметным из диспетчеризуемых является процесс инициализации терминальных линий /etc/getty. Другие примеры - демоны и shell.

Файл inittab состоит из строк, имеющих следующий формат (важен и порядок строк):


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

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

имя
Имя, состоящее из одного или двух символов, должно однозначно идентифицировать строку.
уровень_выполнения
Это поле определяет уровень выполнения, при котором строка будет обрабатываться. Уровень выполнения непосредственно соответствует конфигурации процессов в системе. Каждому процессу, запущенному init'ом, присваивается уровень или уровни выполнения, при которых тот может существовать. Уровни выполнения обозначаются цифрами от 0 до 6. Например, если система находится на уровне 1, то будут обработаны только строки, содержащие единицу в поле уровень_выполнения. Когда к init'у обращаются с запросом о смене уровня выполнения, всем процессам, которые не должны существовать на новом уровне, посылается предупреждающий сигнал SIGTERM и дается 20 секунд на завершение, после чего "лишние" процессы принудительно терминируются сигналом SIGKILL. Можно указать несколько допустимых уровней выполнения, если задать ряд цифр из диапазона от 0 до 6. Если уровень_выполнения вообще не указан, то считается, что процесс может выполняться на любом уровне. Существует также три дополнительных значения, a, b и c, которые могут быть указаны в данном поле, хотя они и не являются реальными уровнями выполнения. Строки с такими значениями уровня выполняются только по запросу процесса telinit [см. init(1M)] независимо от текущего уровня выполнения. Отметим, что уровни a, b, c не могут быть установлены, а запрос на выполнение помеченных ими процессов не меняет текущий уровень выполнения. Кроме того, подобные процессы не уничтожаются при смене уровня выполнения. Уничтожаются они, только если соответствующие им строки содержат значение off в поле действие, если эти строки удаляются из файла /etc/inittab, или если init переходит в однопользовательский режим.
действие
Ключевое слово в поле действие определяет дисциплину обработки процесса, указанного в данной строке. Программа init распознает следующие действия:
respawn
Если процесс не существует, то запустить его, не ждать завершения (продолжать просмотр файла inittab), после завершения процесса перезапустить его. Если процесс уже существует, ничего не делать и продолжать просмотр файла inittab.
wait
При переходе на уровень_выполнения, совпадающий с указанным в строке, запустить процесс и ожидать его завершения. При всех последующих просмотрах файла inittab на том же уровне выполнения игнорировать строку.
once
При переходе на уровень_выполнения, совпадающий с указанным в строке, запустить процесс и не ожидать его завершения. Когда процесс завершится, не перезапускать его. Если уровень будет изменен в момент, когда программа еще выполняется из-за предыдущей смены уровня выполнения, то она не перезапускается.
boot
Эта строка будет обработана только один раз во время чтения init'ом файла inittab при начальной загрузке системы. Программа init запускает процесс и не ожидает его завершения. Когда процесс завершится, он не перезапускается. Чтобы это действие выполнялось, поле уровень_выполнения должно быть пустым или соответствовать уровню выполнения процесса init во время загрузки системы. Спецификацией boot помечают функции инициализации, следующие за аппаратной загрузкой системы.
bootwait
Эта строка будет обработана один раз при переходе init из однопользовательского режима в многопользовательский после загрузки системы. (Если действие initdefault соответствует уровню выполнения 2, то указанный в строке процесс будет запущен сразу после загрузки системы). Программа 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'а. Чтобы употребить комментарий, нужно воспользоваться записью ;#комментарий.

СМ. ТАКЖЕ
exec(2), fork(2), open(2), signal(2).
sh(1), who(1) в Справочнике пользователя.
getty(1M), init(1M) в Справочнике администратора.

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...